【问题标题】:Running testng.xml using batch file from command line or Jenkins从命令行或 Jenkins 使用批处理文件运行 testng.xml
【发布时间】:2017-02-18 05:41:50
【问题描述】:

通过批处理文件或命令行运行 testng.xml 时出现错误。 错误:无法找到或加载主类 org.testng.TestNG。 批处理文件详情如下:


set projectLocation=C:\GitRapo\MyProject
cd C:\GitRapo\MyProject
set classpath=C:\GitRapo\MyProject\bin;C:\GitRapo\MyProject\lib\*
java org.testng.TestNG C:\GitRapo\MyProject\testng.xml
pause

尝试通过 Jenkins 运行时遇到相同的错误。 PFA 屏幕截图了解更多详情。

【问题讨论】:

  • 你用IntelliJ正常运行吗?
  • 你是如何导入库的?
  • 我正在使用 Eclipse 中的构建路径部分将外部依赖项添加到我的项目中。我的项目在 eclipse 中,所有的 jars 都被添加到其中。
  • @Grzegorz Górkiewicz 通常在 Eclipse 中将它作为 testNG 运行,这工作正常。

标签: xml batch-file jenkins testng


【解决方案1】:

TestNG 不在您的类路径中。 运行带有-cp 选项的java 命令,将TestNG 添加到您的类路径中。 我看到您已经设置了 classpath 变量集,所以只需使用它:

java -cp %classpath% org.testng.TestNG %ProjectPath%\testng.xml

如果您使用的语言有命名约定,那就去吧。

顺便说一句,我通常使用 Maven 来找出类路径等。
一般mvn clean install就够了。

【讨论】:

  • 感谢@Grzegorz Górkiewicz 能够运行。一个问题仍然存在,它与 cmd 一起工作正常,但是当通过 jenkins 运行同一批次时,我的测试用例被跳过了。你能帮我解决这个问题吗?错误详情的 PFA 屏幕截图。
  • C:\GitRapo\MyProject>testNGBatchFile.bat C:\GitRapo\MyProject>set projectLocation=C:\GitRapo\MyProject C:\GitRapo\MyProject>cd C:\GitRapo\MyProject C: \GitRapo\MyProject>设置类路径=C:\GitRapo\MyProject\bin;C:\GitRapo\MyProject\lib* C:\GitRapo\MyProject>java -cp C:\GitRapo\MyProject\bin;C:\GitRapo\ MyProject\lib* org.testng.TestNG C:\GitRapo\MyProject\testng.xml
  • Reason for failure is FAILED CONFIGURATION: @BeforeClass setUp("127.0.0.1:4727/wd/hub") org.openqa.selenium.remote.UnreachableBrowserException: 无法启动新会话。可能的原因是远程服务器的地址无效或浏览器启动失败。
  • 盲猜:不要关闭@AfterClass中的驱动程序。这是另一个问题。请在另一个问题中告诉我们更多信息。
  • 所以重点是我的代码具有与命令提示符交互的逻辑。它将打开 cmd 并转到特定目录,然后启动一个批处理文件,其中包含在特定端口启动 appium 服务器的代码。
猜你喜欢
  • 1970-01-01
  • 2018-09-08
  • 2011-01-04
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多