如何并行使用命令行运行testng

时间:2014-09-05 06:55:35

标签: eclipse testng

我正在使用testng框架在selenium中运行Testcases。 通过eclipse,我可以一起运行所有xml但是如何通过命令行或bat文件朗姆酒。

我试过

start java -ea -Dfile.encoding=Cp1252 -classpath "/D:/Eclipse 3.6.2/eclipse/plugins/org.testng.eclipse_6.8.6.20141201_2240/lib/testng.jar;D:\XML\SpringIntegration_NIC\new_temp\bin;D:\XML\SpringIntegration\lib\SeleniumServer.jar;D:\XML\SpringIntegration\lib\selenium-server-standalone-2.37.0.jar;D:\XML\SpringIntegration\lib\selenium-java-2.37.0.zip;D:\XML\SpringIntegration_NIC\new_temp\lib\sikuli-script.jar;D:\XML\SpringIntegration_NIC\new_temp\lib\sikuli-ide.jar;D:\XML\SpringIntegration_NIC\new_temp\build.xml" org.testng.remote.RemoteTestNG -serport 28844 -d D:\XML\SpringIntegration_NIC\new_temp\test-output D:\XML\SpringIntegration_NIC\new_temp\TestNG_parallel.xml

使用Eclipse我可以正确运行所有测试用例。但是在使用此命令直接运行它给出错误时,就实际测试用例而言,仅运行@BeforeSuits并且@Aftersuits正在运行。

我观察到奇怪的行为有时会完美地运行;但非常罕见。

1 个答案:

答案 0 :(得分:0)

  1. 方法一 创建一个如下所示的主类,并添加测试用例classe

    public static void main(String [] args){

    // TODO自动生成的方法存根

    TestNG myTestNG = new TestNG();

    myTestNG.setTestClasses(new Class [] {testcasesClass1.class});

    myTestNG.run(); }

  2. 还有另一种方式。

  3. 步骤(i) - 将testng.xml配置为

    '<'套件名称="并行测试运行"平行=#&34;测试"线程计数=" 3" '>'

    //删除开头和结尾的两个单引号

    <classes> 
        <class name="com.test.component1.Class1Test" ></class> 
        <class name="com.test.component1.Class2Test" ></class> 
        <class name="com.test.component1.Class3Test" ></class> 
    
    </classes> 
    

    步骤(ii) -

    从命令提示符运行,如 java -cp lib *; bin; selenium * org.testng.TestNG testng.xml

    ,其中

    lib-是selenium libs的位置

    bin-是您的测试代码类文件的位置[Class1Test,Class2Test,Class3Test]

    注意: - 你的项目结构应该像

    LIB

    testng.xml

    这些都应该在同一目录下或根据命令

    中的位置传递