【java测试-testng5】多线程测试的两种方式:注解、xml
第一种:注解
package com.coke.testng.multiThread; import org.testng.annotations.Test; // 多线程测试 public class MultiThreadTest { @Test(invocationCount = 10,threadPoolSize = 3) public void test1(){ System.out.printf("Thread id : %s%n",Thread.currentThread().getId()); } }
执行结果:
Thread id : 14
Thread id : 13
Thread id : 12
Thread id : 13
Thread id : 14
Thread id : 12
Thread id : 12
Thread id : 13
Thread id : 14
Thread id : 12
===============================================
Default Suite
Total tests run: 10, Failures: 0, Skips: 0
===============================================
第二种:xml
先来写一个测试类
package com.coke.testng.multiThread; import org.testng.annotations.Test; public class MultiThreadOnXml { @Test public void test1(){ System.out.printf("Thread id : %s%n",Thread.currentThread().getId()); } @Test public void test2(){ System.out.printf("Thread id : %s%n",Thread.currentThread().getId()); } @Test public void test3(){ System.out.printf("Thread id : %s%n",Thread.currentThread().getId()); } }
xml配置文件:
<?xml version="1.0" encoding="UTF-8" ?> <suite name="thread" parallel="methods" thread-count="2"> <test name="thread"> <classes> <class name="com.coke.testng.multiThread.MultiThreadOnXml"/> </classes> </test> </suite>
运行xml的结果:
Thread id : 12
Thread id : 13
Thread id : 13
===============================================
thread
Total tests run: 3, Failures: 0, Skips: 0
===============================================
总结:
<!-- xml文件 --> thread-count:表示最大并发线程数 methods级别:所有用例都可以在不同的线程下执行 tests级别:不同test tag下的用例在不同的线程下执行,相同test tag下的用例在同一个线程下执行 classs级别:不同class tag下的用例在不同的线程下执行,相同class tag下的用例在同一个线程下执行 xml文件中不能指定线程池,只有方法上才能指定线程池 <!-- 测试方法的注解上 --> invocationCount = 10 线程数 threadPoolSize = 3 线程池数量
---------------------------------------------------
立足软件测试领域,并重新定义测试!
---------------------------------------------------