在目录C:\jars>的Jars文件夹中,我具有Test文件夹。在“测试”文件夹中,我有OneReports.jartestng.jarTestngTestSuiteUsingXML.javaTest.XML

我从eclipse中导出的OneReports.jar包含一些Java项目。

我创建了testsuite的Test.xml,该文件是

在命令提示符中,我尝试运行:


C:\ Jars> javac -cp“ C:\ Program Files \ Java \ selenium * .jar”;“ OneReports.jar”;“ testng
.jar” test \ TestngTestSuiteUsingXML.java
C:\ Jars> java -cp“ C:\ Program Files \ Java \ selenium * .jar”;“ OneReports.jar”;“ testng。
jar” test.TestngTestSuiteUsingXML


在这里我得到如下错误:

[[TestNGClassFinder]] Unable to read methods on class test.LoginOneReports - unable to resolve class reference org/openqa/selenium/WebDriver
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetPublicMethods(Unknown Source)
    at java.lang.Class.getMethods(Unknown Source)
    at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:59)
    at org.testng.TestRunner.initMethods(TestRunner.java:409)
    at org.testng.TestRunner.init(TestRunner.java:235)
    at org.testng.TestRunner.init(TestRunner.java:205)
    at org.testng.TestRunner.<init>(TestRunner.java:153)
    at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:522)
    at org.testng.SuiteRunner.init(SuiteRunner.java:157)
    at org.testng.SuiteRunner.<init>(SuiteRunner.java:111)
    at org.testng.TestNG.createSuiteRunner(TestNG.java:1299)
    at org.testng.TestNG.createSuiteRunners(TestNG.java:1286)
    at org.testng.TestNG.createSuiteRunners(TestNG.java:1289)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
    at org.testng.TestNG.run(TestNG.java:1057)
    at test.TestngTestSuiteUsingXML.main(TestngTestSuiteUsingXML.java:20)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 18 more

 C:\Jars>


任何人都可以帮助我解决此问题。我不使用Maven。使用Selenium Webdriver,TestNG,Java编写代码。

最佳答案

由于您的javac正常运行,因此您可以在类路径中正确放置testng.jar。然后,该程序将依赖于其他库selenium等。使用单个jar代替通配符将是正确的。

java -cp "C:\Program Files\Java\selenium<version>.jar;OneReports.jar;testng.jar" test.TestngTestSuiteUsingXML


这可能会给出更多classnotfound异常。仅将那些添加到您的类路径。

请注意,您也通过相对路径(OneReports.jar或testng.jar)引用其他jar。这会变得很混乱。考虑使用ant / maven / gradle来完成这部分工作。它们将更可靠地形成类路径。

08-08 01:47
查看更多