TestNg之XMl形式实现多线程测试
2019-05-16 21:46
531 查看
为什么要使用多线程测试?
在实际测试中,为了节省测试时间,提高测试效率,在实际测试场景中经常会采用多线程的方式去执行,比如爬虫爬数据,多浏览器并行测试。
关于多线程并行测试
TestNG中实现多线程并行执行,可以通过以下几种方法:
- @Test注解的形式
- Xml文件的配置的形式
本文着重介绍下以xml形式实现多线程测试的方法,来让我们开始吧
如何实现?
1、编写测试类
package com.testng.demo; import org.testng.annotations.Test; public class MultiThreadedByXml { @Test public void test1() { System.out.println("Thread id is " + Thread.currentThread().getId()); } @Test public void test2() { System.out.println("Thread id is " + Thread.currentThread().getId()); } @Test public void test3() { System.out.println("Thread id is " + Thread.currentThread().getId()); } @Test public void test4() { System.out.println("Thread id is " + Thread.currentThread().getId()); } @Test public void test5() { System.out.println("Thread id is " + Thread.currentThread().getId()); } }
2、编写testng.xml文件
在<suite>标签中用parallel和thread-count两个属性声明多线程:parallel代表级别,thread-count代表最大并发线程数。
3、tests级别测试
不同的test标签(tag)下的用例可以在不同的线程下执行
配置文件如下:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="sml多线程测试" parallel="tests" thread-count="2"> <test name="threadTest1"> <classes> <class name="com.testng.demo.MultiThreadedByXml"/> </classes> </test> </suite>
通过xml运行效果如下:
相同的test标签(tag)下的用例只能在同一个线程中去执行
配置文件如下:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="sml多线程测试" parallel="tests" thread-count="2"> <test name="threadTest1"> <classes> <class name="com.testng.demo.MultiThreadedByXml"/> <class name="com.testng.demo.MultiThreadedByXml"/> </classes> </test> </suite>
通过xml运行效果如下:
4、methods级别测试
所有用例在不同的线程下去执行
配置文件如下:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="sml多线程测试" parallel="methods" thread-count="2"> <test name="threadTest1"> <classes> <class name="com.testng.demo.MultiThreadedByXml"/> </classes> </test> </suite>
通过xml运行效果如下:
5、classs级别测试
相同的classes标签下的用例在同一个线程中执行
配置文件如下:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="sml多线程测试" parallel="classes" thread-count="2"> <test name="threadTest1"> <classes> <class name="com.testng.demo.MultiThreadedByXml"/> </classes> </test> </suite>
通过xml运行效果如下:
不同的classes标签下的用例可以在不同的线程下执行
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="sml多线程测试" parallel="classes" thread-count="2"> <test name="threadTest1"> <classes> <class name="com.testng.demo.MultiThreadedByXml"/> </classes> </test> <test name="threadTest2"> <classes> <class name="com.testng.demo.MultiThreadedByXml2"/> </classes> </test> </suite>
通过xml运行效果如下:
注意:thread-count: 代表了最大并发线程数,xml文件配置这种方式不能指定线程池,只有方法上才可以指定线程池
本文完,还不动手试一试········
相关文章推荐
- 利用ashx以XML返回的形式和ajax实现表格的异步填充
- animation- 动画效果实现(xml形式实现)
- Mybatis实现in查询(注解形式和xml形式)
- Android xml形式实现Tween动画
- 利用ashx以XML返回的形式和ajax实现表格的异步填充
- TestNG的testng.xml实现多个测试用例的不同组合
- TestNG入门教程-11-如何通过testng.xml来实现设置依赖关系
- SpringAOP实例之简单实现(xml形式)
- 使用Metadata简化表数据向XML形式转化的实现
- 如何将实现类似iPhone形式的页面卷动
- dom Framework实现XML的innerHTML、outerHTML操作
- css实现超连接按钮形式显示
- 【风宇冲】Unity3D教程宝典之两步实现超实用的XML存档 内容加密 + 防拷贝
- Java用正则表达式实现${name}形式的字符串模板实例
- Android里XML布局字数不相等的时候怎么实现两端对齐?
- TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码
- 使用XMLHttpRequest 实现ajax效果
- java实现XML增加元素操作简单示例
- 蛇形矩阵(非方阵)的一种实现形式
- SSM框架——以注解形式实现事务管理