无法解析类引用org / openqa / selenium / WebDriver

问题描述 投票:1回答:1

在目录C:\jars>在Jars文件夹中,我有Test文件夹。在Test文件夹里面我有OneReports.jartestng.jarTestngTestSuiteUsingXML.javaTest.XML

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

Test.xml我创建了测试套件,该文件是

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

  1. C:\ Jars> javac -cp“C:\ Program Files \ Java \ selenium * .jar”;“OneReports.jar”;“testng .jar”test \ TestngTestSuiteUsingXML.java
  2. 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编写代码。

java eclipse selenium jar
1个回答
1
投票

由于您的javac工作正常,因此您可以在类路径中正确使用testng.jar。然后该程序依赖于其他库selenium等。使用单个罐而不是外卡是正确的。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.