I'm getting Error: Could not find or load main class org.testng.TestNG with selenium-server-standalone-3.9.1.jar

I'm getting Error: Could not find or load main class org.testng.TestNG with selenium-server-standalone-3.9.1.jar

我收到错误:无法使用 selenium-server-standalone-3.9.1.jar 找到或加载主 class org.testng.TestNG。但是同样适用于 selenium-server-standalone-2.39.0.

我曾经从 cmd 运行 使用的命令:java -cp bin;jarslib/* org.testng.TestNG testng.xml

我的 JarsLib 文件夹中的所有 jar。

正在尝试通过 cmd 提示执行我的测试。所有测试在 eclipse 中都运行良好。

如果我添加 2.39V jar 并执行此操作,工作正常。但是如果我使用 3.9.1V jar,它只会给出一个错误“错误:无法找到或加载主class org.testng.TestNG”

我不知道,使用 3.9.0V 使其 运行 需要哪些新的依赖项。列出所有依赖项 jars 列表会很有帮助,这样我就可以添加到我的工作中 space.

我正在使用 Java-project。所以处理依赖关系是这里的问题。

有人可以帮我解决这个问题吗?

问题出在您项目的类路径上。 Selenium 2.39.0 曾经与 TestNG 类 捆绑在一起。这解释了为什么在您使用 Selenium 2.39.0 时一切正常。

jar -tf selenium-server-standalone-2.39.0.jar | grep -i 'org.testng.TestNG.class' 
org/testng/TestNG.class

但最新的 selenium 二进制文件不再如此。要解决这个问题,您有两种选择。

  1. 您下载 TestNG jar 并将其放在 jarslib 文件夹中(您需要下载 testng-6.14.2.jar, jcommander-1.72.jar and bsh-2.0b6.jar ](或)
  2. 您利用构建工具,例如 maven 或 gradle,然后按照官方文档 here
  3. 中的详细说明将依赖项添加到 TestNG

然后重试。