如何设置?
testNG并发设置方式以testng.xml方式为例。在<suite>...</suite>标签设置属性parallel,parallel的值可以为:false,tests,classes,methods,instances。其中false是默认值,代表不使用多线程并发执行,其余4个代表并发的四个维度。thread-count属性表示并发的线程数,默认是5。
并发维度
tests
对应testng.xml文件中的test标签。设置parallel='tests',表示以test维度进行并发执行用例,即同一个test标签下的用例,运行在同一线程中;不同test标签的下的用例,运行在不同线程中。
classes
对应testng.xml文件中的class标签,表示一个测试类。设置parallel='classes',表示以class维度进行并发执行用例,即同一个class标签下的用例,运行在同一线程中;不同class标签的下的用例,运行在不同线程中。
methods
对应testng.xml文件中的method标签,表示一个测试方法。设置parallel='methods',表示以class维度进行并发执行用例,即同一个method标签下的用例,运行在同一线程中;不同method标签的下的用例,运行在不同线程中。
instances
instance代表一个测试实例,要使用@Factory注解才生效,效果和methods一样。设置parallel='instances',不同测试实例,运行在不同线程中。
扩展
对于使用了数据驱动@DataProvider注解的情况,如果实现测试数据维度的并发,需要在@DataProvider注解下增加属性parallel =true。