学习笔记(八)TestNG基本介绍及如何在maven中引用

本文深入探讨TestNG框架下的多线程测试方法,包括注解和XML配置两种实现方式,解析不同作用级别及线程数设定,同时介绍超时测试的设定与应用,为高效并行测试提供指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着学习第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元素。分组测试及参数化也很重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值