前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台:支持多线程执行(压测)

接口测试平台:支持多线程执行(压测)

作者头像
软件测试君
发布2020-02-12 16:54:41
6940
发布2020-02-12 16:54:41
举报
文章被收录于专栏:测试人生测试人生

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

集合详情内新增了两个字段:threadPoolSize和repeatTimes,对应线程数和重复执行次数。

Server端代码,新增了一个MultiThreadingListener监听类,用以修改testng的InvocationCount和ThreadPoolSize。(详细用法同学们可以百度自行搜索“testng注解”)

代码语言:javascript
复制
public class MultiThreadingListener implements IAnnotationTransformer {

    @Override
    public void transform(ITestAnnotation annotation, Class testClass,
                          Constructor testConstructor, Method testMethod) {

        // 设置线程执行次数(重复次数 * 线程池内线程数)
        annotation.setInvocationCount(ApiTestConfig.repeatTimes * ApiTestConfig.threadPoolSize);
        // 线程池内线程数
        annotation.setThreadPoolSize(ApiTestConfig.threadPoolSize);
    }
}

在collectionExcute内,对threadPoolSize和repeatTimes进行赋值,同时在测试执行调用监听类的时候,带上MultiThreadingListener。(collectionExcute的完整代码可参考《接口测试平台支持混合Case的执行(Http\Dubbo\Sql)》)

然后将线程数设置为2,重复次数设置为3,可以看到每个case会被重复执行6次,并且分属于两个不同的线程id。

到此,接口测试平台的“多线程执行(压测)”就完成啦,有疑问的小伙伴欢迎在文章下方留言,我会根据问题不断优化文章内容!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档