Java TestNG使用时动态调整执行次数和并发数实现多线程

时间:16-12-13 栏目:Java开发 作者:kyle 评论:0 点击: 2,709 次

 

使用TestNG时,可以设定并发和任务执行次数。

 

使用方法是在要测试的类上面加上

@Test(invocationCount=1000,threadPoolSize=500) 

 

invocationCount代表执行的次数,threadPoolSize代表执行的并发线程数量

 

但是我的代码是打包为Jar后面来执行的,如果每次变线程要改代码重新打包的话,并不是特别舒服。

 

后来研究了一个监听 器,可以动态修改annotation注解数据。代码为

1

 

为了方便测试,放到要测试类的上面,加一行:

@Listeners({com.kyle.testSelnium.plugins.SetThreadCount.class})

public class TestClass()

 

发现并不执行,查了一些资料,才在官方看到。

The @Listeners annotation can contain any class that extends org.testng.ITestNGListener except IAnnotationTransformer and IAnnotationTransformer2. The reason is that these listeners need to be known very early in the process so that TestNG can use them to rewrite your annotations, therefore you need to specify these listeners in your testng.xml file.

 

原因是这个注释只能在testng.xml里面配置,需要在最开始就设置好,否则不能实现这个监听器。

 

只能把代码添加到testng.xml,加上

<listeners>
        <!-- 自动判断线程数量和并发数量 -->
        <listener class-name="com.kyle.testSelnium.plugins.SetThreadCount" />
    </listeners>

 

运行时使用java –cp testng.jar;lib/*.jar org.testng.TestNG testng.xml

即可并发执行多线程任务。。

 

PS:可以在config.properties里面配置更多修改testng注解和参数的配置,在程序里面通过监听器动态读取执行,以达到更完美高效的控制效果。

成都SEO小五嚎2句: 本文是(成都SEO小五)辛苦弄出来的,转载成都SEO小五原创的请保留链接: Java TestNG使用时动态调整执行次数和并发数实现多线程,3Q

Java TestNG使用时动态调整执行次数和并发数实现多线程:等您坐沙发呢!

来给哥评论评论


------====== 小五公告 ======------
成都SEO小五,专注成都搜索引擎优化。
小五善长站内外优化,C#、PHP开发,中英文SEO,Google中英文和百度优化技术。欢迎群内交流。伸手党请绕路,求资源的请绕开,求问题解答的请进群内交流。开放了一个QQ交流群:160750032。加入验证时请标注任何SEO相交字眼。友情链接直接Q我,收录正常,内容大部份原创、SEO或者程序开发、网络营销、线上推广等相关行业即可。

常用工具

赞助广告

来看过哥的人