如何在Parallel中运行两个包,并使用TestNg以顺序方式运行这些包中的类

时间:2015-06-29 11:54:26

标签: selenium-webdriver testng

请帮帮我。我创建了两个包含不同类的包。我的目的是并行运行这两个包(比如两个浏览器将打开,它应该并行运行),这些包中的类应该顺序运行。 我尝试使用两个xml。如下所示,但它仍然按顺序运行:

***** testng1.xml *******

*<?xml version="1.0" encoding="UTF-8"?>
<suite name="My HDFS suite">
<test name="Test_HDFS" parallel="false">
<classes>
<class name="com.testSuites.HDFS.MySql_Workflow" /> 
<class name="com.testSuites.HDFS.DB2_Workflow" /> 
<class name="com.testSuites.HDFS.Oracle_Workflow" /> 
</classes>
</test>
</suite>*

***** testng2.xml ******

*<?xml version="1.0" encoding="UTF-8"?>
<suite name="My HIVE suite">
<test name="Test_HIVE" parallel="false">
<classes>
<class name="com.testSuites.HIVE.MySql_DataIngestion_Workflow" /> 
<class name="com.testSuites.HIVE.DB2_Workflow" /> 
<class name="com.testSuites.HIVE.Oracle_Workflow" /> 
</classes>
</test>
</suite>*

*****套房****

<?xml version="1.0" encoding="UTF-8"?>
<suite name="suite of suites" parallel="suite-file" thread-count="2">
<suite-files parallel="true">
<suite-file path="testng1.xml" />
<suite-file path="testng2.xml" />
</suite-files>
</suite>

请告诉我这个xml我做错了什么?由于它没有像预期的那样并行运行。  我的所有课程都有@BeforeClass和@AfterClass:

  • @BeforeClass - 我正在打开浏览器
  • @Alasses课程 - 我正在关闭浏览器

因此,每个课程在运行时都会打开浏览器,然后在课程结束后关闭。

我希望我的 com.testSuites.HDFS com.testSuites.HIVE 并行运行,内部的类应该按顺序运行。请为我建议一个解决方案。

1 个答案:

答案 0 :(得分:1)

我认为testNg注释可以帮助你。你可以使用@dependsonGroups或@dependsonclass。 你可以按自己的方式尝试。

谢谢