![](/img/trans.png)
[英]How to run test cases belonging to a particular group in parallel using TestNG
[英]Run selenium test cases in parallel, using testng | maven
需要一些帮助,以找到正确的方法来并行运行testng测试用例。
当前设置。 使用本地计算机上的单个驱动程序实例运行所有测试用例。 Selenium WebDriver TestNg Maven
需要。 想要在本地使用多个驱动程序实例运行测试用例。
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
testng.xml
<suite name="testSuite" verbose="10" preserve-order="true" configfailurepolicy="continue">
<test name="SanityTest" parallel="none">
<classes>
<class name="test.java.HeaderTests"/>
</classes>
</test>
</suite>
司机
driver = new InternetExplorerDriver(capabilities);
driver.manage().window().maximize();
driver.get(url);
您必须修改您的testng.xml文件,并使其运行在
<test name="SanityTest" parallel="none">
parallel:类parallel:方法
请访问: https : //howtodoinjava.com/testng/testng-executing-parallel-tests/
在您的testng.xml中,您的并行值似乎设置为“ none”。 为了并行运行,您必须将其设置为“ class”:将并行运行类或“ methods”:将运行方法,而与类或包无关。
但是,仅需注意,很难告诉您如何处理驱动程序,但是您需要使其成为特定于线程的,否则您的命令可能会发送给错误的驱动程序。
希望这可以帮助。
根据您的问题和澄清,您似乎希望并行运行测试。 例如-并行运行多个测试类,这样可以减少测试执行时间。 在这种情况下,建议设置测试运行程序的多个线程(例如TestNG),而不要设置webdriver的多个线程/实例。 像这样:
<suite name="Parallel test runs" parallel="tests" thread-count="2">
<test name="test1">
<classes>
<class name="com.company.test1" ></class>
</classes>
</test>
<test name="test2">
<classes>
<class name="com.company.test2" ></class>
</classes>
</test>
</suite>
这将并行运行test1和test2。 使用TestNG,您可以并行运行方法,类或组。 为WebDriver设置多个线程的一个可能的用例是,您想在测试运行时不断检查是否存在警报,例如警报。 (我个人不赞成这种风格,但我看到有团队这样做)。 对于这种工作方法,测试类不应相互依赖。 此外,每个测试都应(在开始时)设置并拆除(在测试结束时)Webdriver实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.