在TestNG的测试方法中创建多线程有两种方式,一种是注解一种是使用xml文件,用两个简单的例子带大家实现下
注解方式
在@Test注解的属性中invocationCount属性可以设定线程数,threadPoolSize则可以设定线程池的大小。
XML方式
我们在suite 标签中可以使用parallel来指定线程在运行的级别:
- methods级别:所有用例都可以在不同的线程下执行
- tests级别:不同的test tag下的用例可以在不同线程下执行 相同的test tag下的用例只能在同一个线程中执行
- classes级别:相同的class tag 下的用例在同一个线程中执行 不同的class tag下的用例可以在不同的线程中执行
使用thread-count来指定最大并发线程数
使用xml配置的方式与在方法上不同的是:xml配置不能指定线程池
下面用一个示例来查看下输出,我们创建一个类创建三个测试方法
创建一个xml,在里面指定parallel="motheds",thread-count="3",也就是指定线程运行级别为methods,最大并发线程数为3
运行结果可以看出三个测试方法获取的线程id都不一样。同样的classes级别与tests级别的也可以同样配置应用在不同场景 |