当前位置: 首页 > 知识库问答 >
问题:

如何按顺序运行TestNG测试节点,但针对不同的浏览器功能并行运行所有内部类?

刘翔宇
2023-03-14
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="5" name="Functional Test Suite" parallel="tests">
    <test name="Windows-FF-37.0" preserve-order="true" >
        <parameter name="browser" value="Firefox"/>
        <parameter name="version" value="37.0"/>
        <parameter name="os" value="Windows"/>
        <parameter name="os_version" value="8.1"/>
        <parameter name="device" value=""/>
        <classes>
            <class name="uat.mycompany.tests.FirstTest"/>
            <class name="uat.mycompany.tests.SecondTest"/>
            <class name="uat.mycompany.tests.ThirdTest"/>
            <class name="uat.mycompany.tests.FourthTest"/>
        </classes>
    </test>
    <test name="MAC-Yosemite-Chrome-36.0" preserve-order="true">
        <parameter name="browser" value="Chrome"/>
        <parameter name="version" value="36.0"/>
        <parameter name="os" value="OS X"/>
        <parameter name="os_version" value="Yosemite"/>
        <parameter name="device" value=""/>
        <classes>
            <class name="uat.mycompany.tests.FirstTest"/>
            <class name="uat.mycompany.tests.SecondTest"/>
            <class name="uat.mycompany.tests.ThirdTest"/>
            <class name="uat.mycompany.tests.FourthTest"/>
        </classes>
    </test>
</suite>

另外,最终我想通过一些属性文件设置这些参数,这样我就可以轻松地管理运行环境。

共有1个答案

闽鸿宝
2023-03-14

您可以按照以下步骤操作:

  • 为不同的测试定义2个不同的套件(XML文件)。
  • 对于每个套件,提及:thread-count=“4”parallel=“classes”
  • 创建第三个套件(xml文件)以顺序运行上述两个文件(不要提到套件的线程计数和并行参数。)

第一个XML文件:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="5" name="Functional Test Suite1" parallel="classes">
    <test name="Windows-FF-37.0" preserve-order="true" >
        <parameter name="browser" value="Firefox"/>
        <parameter name="version" value="37.0"/>
        <parameter name="os" value="Windows"/>
        <parameter name="os_version" value="8.1"/>
        <parameter name="device" value=""/>
        <classes>
            <class name="uat.mycompany.tests.FirstTest"/>
            <class name="uat.mycompany.tests.SecondTest"/>
            <class name="uat.mycompany.tests.ThirdTest"/>
            <class name="uat.mycompany.tests.FourthTest"/>
        </classes>
    </test>
</suite>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="5" name="Functional Test Suite2" parallel="classes">
    <test name="MAC-Yosemite-Chrome-36.0" preserve-order="true">
        <parameter name="browser" value="Chrome"/>
        <parameter name="version" value="36.0"/>
        <parameter name="os" value="OS X"/>
        <parameter name="os_version" value="Yosemite"/>
        <parameter name="device" value=""/>
        <classes>
            <class name="uat.mycompany.tests.FirstTest"/>
            <class name="uat.mycompany.tests.SecondTest"/>
            <class name="uat.mycompany.tests.ThirdTest"/>
            <class name="uat.mycompany.tests.FourthTest"/>
        </classes>
    </test>
</suite>
<suite name="suite of suites">
    <suite-files>
        <suite-file path="Functional Test Suite1.xml" />
        <suite-file path="Functional Test Suite2.xml" />
    </suite-files>
</suite>
 类似资料:
  • 我正在尝试在不同的Android设备上并行运行我的自动化套件(使用Selenium WebDrive(Java)TestNG Maven实现)。这是我在xml中的代码: 在TotoTest课上,我有20个测试。它们中的每一个都有注释@Test。当我运行xml时,两个设备并行运行类TotoTest。所以我的设备1(模拟器1)运行20个测试,我的设备2(模拟器2)也运行20个测试。 但是我想要的是,模

  • 我试图用TestNG并行运行一个示例测试项目。但它是在一个线程中顺序执行的。我漏掉什么了吗? 谢了。

  • 我有一个有很多功能的项目,我想在不同的浏览器中并行运行一个测试,使用cucumber jvm插件 在我的POM里。XML i添加了cucumber jvm和maver surefire两个插件 我创建runnerClass并添加: 现在,我无法运行测试,如何使用cucumber jvm或selenium网格并行运行浏览器中的不同功能

  • 我希望我所有的课程都按顺序进行。下面是我的testng xml文件: 我试过在套房里用姓名标签来做:

  • 我已经创建了一个测试套件,使用数据提供商数据工厂和我的TestNG文件发送浏览器详细信息作为参数。在testNG XML中,我调用我的数据工厂类。我也在使用浏览器堆栈进行测试(尽管我怀疑这与我遇到的问题有关) 当我不向testng文件添加parrelell=“true”时,测试运行没有任何问题。 我有一种感觉,这与每个浏览器使用的是同一个驱动程序有关,但我目前无法解决这个问题。 感谢您的指导。 这

  • 我使用下面的TestNG配置来启用Selenium测试的并行执行。 Java代码: 硒测试预计将并行运行。我希望有2个浏览器打开并运行测试脚本。 但我只看到一个浏览器,所有3个测试都一个接一个地运行,而不是并行运行。我尝试过使用“并行”属性的测试、方法、类和实例选项。 有什么帮助吗?