无法通过命令行执行TestNG Suite文件

时间:2013-09-14 09:31:54

标签: selenium-webdriver testng

我正在尝试通过命令行执行TestNG Suite文件以启动回归运行。 目前,我通过Eclipse IDE成功完成此操作,右键单击“testng.xml”文件,然后选择Run As> TestNG Suite。

但是,当我尝试通过命令行运行它时,我收到一条错误消息。步骤如下:

  • 我导航到保存“testng.xml”文件的目录。例如C:\ Users \ xxx \ Documents \ eclipse projects \ Automated Testing \ config
  • 运行命令:

    java org.testng.TestNG testng.xml

以上命令生成以下响应:

Error: Could not find or load main class org.testng.TestNG
  • 我尝试将类路径设置为包含所有selenium和testNG Jar文件,如下所示:

    set classpath C:/Users/xxxx/Downloads/selenium-java-2.25.0/selenium-2.25.0/libs/*

但是,这会生成以下错误消息:

Environment variable classpath C:/Users/xxxx/Downloads/selenium-java-2.25.0/selenium- 2.25.0/libs/* not defined

我查看了testNG文档(http://testng.org/doc/documentation-main.html),这只是说testNG必须在你的类路径中,所以现在我有点卡住了。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

两种方法都有效:)

方法#1

cd C:\Workspace\projectname
java -cp C:\Workspace\projectname\lib\*;C:\Workspace\projectname\bin org.testng.TestNG testng.xml

方法#2

cd C:\Workspace\projectname
set ProjectPath=C:\Workspace\projectname
echo %ProjectPath%
set classpath=%ProjectPath%\bin;%ProjectPath%\lib\*
echo %classpath%
java org.testng.TestNG %ProjectPath%\testng.xml

答案 1 :(得分:1)

herehere发布的类似问题的答案如何?你确定在类路径中没有任何空格,因为它们会导致Java中的问题吗?

答案 2 :(得分:1)

谢谢@siemic,我终于让它工作了。基本上你只需要 运行以下两个命令:

  1. set classpath = .. \ bin; C:\ libs \ selenium-java-2.25.0.jar; C:\ libs \ testng-6.0.1-nobsh
    noguice.jar; C:\库*

  2. java org.testng.TestNG

  3. 这是我遇到麻烦的第一个命令,所以只是详细说明我需要在类路径上设置以下三个项目:

    • 我项目的BIN目录。这是因为我开发的java文件位于此处。
    • Selenium.jar文件,这是因为我使用的是selenium框架
    • 需要testng.jar文件,因为这是我的单元测试框架

    然后最后我使用通配符在我的库文件夹中包含所有其他JAR文件。奇怪的是 我需要完全具体说明selenium和testng jar文件的名称,否则测试不起作用。不太清楚为什么。

    无论如何它现在工作正常,我可以通过命令行执行测试。