testng多线程运行测试用例的方式

前言

测试圈两大主流测试框架,一个是 testng 另一个是 junit5,个人喜欢比较喜欢 testng,对于组织测试用例有很高的灵活性

invocationCount 参数

testng 中@Test注解标明的为测试用例,Test 后可以跟上各种参数,比如 invocationCount 可以控制多线程,invocation 表示调用,即调用次数

threadPoolSize 要配合 invocationCount 使用,表示线程池大小,即是几线程

@Test(invocationCount=1, threadPoolSize=2)

使用两线程去运行一次

parallel 设置线程级别

首先我们要在 mvn 的 pom.xml 中配置 surefire 插件,具体 surefire 插件的如何结合 testng 做测试可以参考 surefire 官网,或者结合我之前写的一篇博文

https://blog.csdn.net/abcnull/article/details/106715004

由于 surefire 中可以指定运行哪个 testng.xml 测试套件(不指定默认是 testng.xml 的名字),在 testng.xml 中我们可以指定测试套件的多线程运行的运行级别

下面我指定线程并行的隔离级别是 tests,然后使用 3 线程

<suite name="WebUI Test Suite" parallel="tests" thread-count="3">

本人最常用的就是 tests 级别,那么 parallel 还有其他哪些并行级别呢?

  • methods
    所有@Test测试用例都会施行多线程,对应 xml 中的 method 中 include 标签指定的测试方法,即测试用例
  • tests
    所有 test 标签的用例会被指定运行在一个线程里,不同 test 标签即为不同的线程
  • classes
    一个 class 标签即为开启一个新的线程,对应一个测试类(测试类中会有多个测试用例方法)
  • instances
    每一个实例即为一个线程

我本人最常用的还是 tests 级别并行,实际中,我会把配置文件读取操作放在 BeforeSuite 中,然后在 BeforeTest 中做驱动初始化,因为 tests 级别并行的时候,BeforeTest 在不同线程都会执行一次,而 BeforeSuite 只会在第一个线程执行一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abcnull

您的打赏是我创作的动力之一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值