通过注解和xml方式实现TestNG多线程测试
一、使用注解方式实现多线程测试
import org.testng.annotations.Test;
//设为由3个线程共执行10次
public class MultiThreadOnAnnotation {
@Test(invocationCount=10,threadPoolSize = 3)
public void test() {
System.out.println("注解方式多线程测试");
System.out.printf("Thread Id :%s%n",Thread.currentThread().getId());
}
}
测试运行结果:
二、使用XML配置文件实现多线程测试
参数解释:
parallel:
1.methods级别(常用):所有用例都可以在不同的线程下去执行
2.tests级别:不同的test tag下的用例可以在不同的线程下执行
相同的test tag下的用例只能在同一个线程下执行
3.classes级别:相同的class tag下的用例在同一个线程中执行
不同的class tag下的用例可以在不同的线程下执行
thread-count:代表了最大并发线程数
xml文件配置这种方式不能指定线程池,只有方法上才可以指定线程池
XML配置文件
<suite name="thread" parallel="methods" thread-count="2">
<test name="demo1">
<classes>
<class name="com.course.testng.MultiThreadTestOnXML"/>
</classes>
</test>
</suite>
MultiThreadTestOnXML类
import org.testng.annotations.Test;
public class MultiThreadTestOnXML {
@Test
public void test1() {
System.out.println("XML方式多线程测试");
System.out.printf("Thread Id :%s%n",Thread.currentThread().getId());
}
}
最大并发2,这里只有一个线程