接口测试平台:支持多线程执行(压测)(旧版已废弃)

男娘i 2023-06-27 06:16 92阅读 0赞

由于testng本身是支持多线程执行的,我们只需要调用testng的多线程就可以。

集合详情内新增了两个字段:threadPoolSize和repeatTimes,对应线程数和重复执行次数。
在这里插入图片描述
Server端代码,新增了一个MultiThreadingListener监听类,用以修改testng的InvocationCount和ThreadPoolSize。(详细用法同学们可以百度自行搜索“testng注解”)

  1. public class MultiThreadingListener implements IAnnotationTransformer {
  2. @Override
  3. public void transform(ITestAnnotation annotation, Class testClass,
  4. Constructor testConstructor, Method testMethod) {
  5. // 设置线程执行次数(重复次数 * 线程池内线程数)
  6. annotation.setInvocationCount(ApiTestConfig.repeatTimes * ApiTestConfig.threadPoolSize);
  7. // 线程池内线程数
  8. annotation.setThreadPoolSize(ApiTestConfig.threadPoolSize);
  9. }
  10. }

在collectionExcute内,对threadPoolSize和repeatTimes进行赋值,同时在测试执行调用监听类的时候,带上MultiThreadingListener。(collectionExcute的完整代码可参考《接口测试平台:支持混合Case的执行(Http\Dubbo\Sql)》)
在这里插入图片描述
然后将线程数设置为2,重复次数设置为3,可以看到每个case会被重复执行6次,并且分属于两个不同的线程id。
在这里插入图片描述
到此,接口测试平台的“多线程执行(压测)”就完成啦,有疑问的小伙伴欢迎在文章下方留言,我会根据问题不断优化文章内容!

发表评论

表情:
评论列表 (有 0 条评论,92人围观)

还没有评论,来说两句吧...

相关阅读