TestNG安装与使用(2)

使用注解配置TestNG线程池,执行次数,超时

invocationCount----表示执行的次数
threadPoolSize-----表示线程池的内线程的个数
timeOut-------超时时间-毫秒

<pre name="code" class="html">public class TestngInvocationCount {  
    private static int sum = 0;  
  
    @Test(threadPoolSize = 2, invocationCount = 10, timeOut = 1000)  
    public void testServer() throws InterruptedException {  
        // 检测启动的线程数,当启动的个数超过CPU核数时,其实是重新在调度  
        // Thread.sleep(2000);  
        sum++;  
        System.out.println("........." + sum);  
    }  
  
} 


 

使用注解方式提供数据源,从而进行自动循环测试

 @DataProvider(name = "DP1")  
    public Object[][] createData() {  
        Object[][] retObjArr = { { "001", "Jack", "London" },  
                { "002", "John", "New York" }, { "003", "Mary", "Miami" },  
                { "004", "George", "california" } };  
        return (retObjArr);  
    }  
  
    @Test(dataProvider = "DP1")  
    public void testEmployeeData(String empid, String empName, String city) {  
        System.err.println(empid);  
        System.err.println(empName);  
        System.err.println(city);  
  
    }  
  
    @DataProvider(name = "iterator")  
    public Iterator<Object[]> getData() {  
        Set<Object[]> set = new HashSet<Object[]>();  
        set.add(new String[] { "hello" });  
        Iterator<Object[]> iterator = set.iterator();  
        return iterator;  
    }  
  
    @Test(dataProvider = "iterator")  
    public void testIteraorData(String iterator) {  
        System.err.println("iterator  .. " + iterator);  
  
    }  
DP1数组内的每一组数据都会作为一个测试用例执行

注意要点:

1.我们的@DataProvider方法可以通过读取Excel、数据库、properties文件等方式进行获取,这个取决于实际测试用例的设计和项目的需要,

2.其返回值是返回一个二维数组,数组内的二维元素个数必须和调用方法的参数一致,

3.这个一致包括了个数和顺序以及类型,否则如果类型不匹配或无法自动转换时就会抛出类型转换异常,而参数个数不匹配也会抛出参数缺失异常。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值