接着学习第5章
第15节 多线程测试--注解实现方式
import org.testng.annotations.Test;
public class MutilThreadOnAnnotion {
//invocationCount默认为1,在不设置线程池threadPoolSize的情况下,不管invocationCount设置多少,都只始终按照一个线程执行
@Test(invocationCount = 10, threadPoolSize = 3)
public void test(){
System.out.println(1);
System.out.println("Thread Id : "+ Thread.currentThread().getId());
}
}
执行结果如下:
第16节 多线程测试--xml实现方式
1.示例:
<?xml version="1.0" encoding="UTF-8" ?>
<suite name = "theadSuite" >
<test name="threadTest1" thead-count = "3" parallel="methods">
<classes name="classes1">
<class name="com.course.testng.mutilThread.MutilThreadOnXML"/>
</classes>
</test>
</suite>
2.各个作用级别及线程数介绍
methods级别:所有用例均在不同线程执行
tests级别:同一个test tag的用例只能在同一个线程执行,不同test tag可以在不同线程执行
classes级别:同一个class tag的用例只能在同一个线程执行,不同class tag的用例可以在不用的线程执行
thread-count:最大并发线程数
xml配置方式线程与annocation注释方式线程的区别在于:xml文件中不能设置线程池,annocaiton可以配置线程池
第17节 超时测试
目的:当一个用例执行时间超过多长时间后(不可忍受的时间)直接跳出,不在执行,继续执行下一个用例
@Test(timeOut = 2000)
public void test3()throws Exception{
Thread.sleep(3000);
System.out.println("test3");
System.out.println("Thread Id : "+ Thread.currentThread().getId());
}
执行结果:
总结:第五章主要讲了testng的基础介绍,最基础的就是@Test注解,@beforeMethod及@afterMethod两个注解有时在做前置或后置处理的时候会用到。对于测试用例很多的时候,推荐使用xml文件并发形式执行用例,省时,但要找好作用域,对于没有依赖的用例可以并发执行,有依赖的用例善于使用dependsOnMethods元素。分组测试及参数化也很重要。