testng多线程测试(自动化测试TesgNG测试框架的parallel属性)

本文目录
- 自动化测试TesgNG测试框架的parallel属性
- testng怎样测试void方法
- testng是什么
- testng和junit有什么优缺点,该如何选择
- 使用idea+testNG搭建自动化测试框架
- 如何使用 testng.xml 实现多个测试用例的连续执行
自动化测试TesgNG测试框架的parallel属性
在TestNG 中,可以通过suite标签中的Parallel属性,定义是否多线程并发运行测试。
Parallel取值有3个:tests、classes、methods,可以通过在testng.xml中的suite tag下设置,如:
它们的共同点都是最多起5个线程去同时执行不同的用例。
它们的区别如下:
testng怎样测试void方法
使用TestNG类执行测试用例。这个类的主入口点在TestNG的框架运行测试。用户可以创建自己的TestNG的对象,并调用它以许多不同的方式:
在现有的testng.xml
合成testng.xml,完全从Java创建
直接设定测试类
您还可以定义哪些群体包括或排除,分配参数,命令行参数:
-d outputdir: 指定输出目录
-testclass class_name: 指定了一个或多个类名
-testjar jar_name: 指定的jar包含测试
-sourcedir src1;src2: ; 分隔源目录列表(只有当使用的javadoc注释)
-target
-groups
-testrunfactory
-listener
testng.xml现有在下面的例子中,我们将创建TestNG的对象。
创建一个类
创建一个Java类进行测试为 MessageUtil.java 在 C:\ 》 TestNG_WORKSPACE
/*
* This class prints the given message on console.
*/
public class MessageUtil {
private String message;
//Constructor
//@param message to be printed
public MessageUtil(String message){
this.message = message;
}
// prints the message
public String printMessage(){
System.out.println(message);
return message;
}
}
创建测试例类
创建一个Java测试类 SampleTest.java
您的测试类添加一个的测试方法testPrintMessage()
添加注释@Test 到方法 testPrintMessage()
实现测试条件和使用的assertEquals API TestNG的检查条件
创建一个Java类文件名 SampleTest.java在 C:\ 》 TestNG_WORKSPACE
import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
String message = "Hello World";
MessageUtil messageUtil = new MessageUtil(message);
@Test
public void testPrintMessage() {
Assert.assertEquals(message, messageUtil.printMessage());
}
}
创建 testng.xml
接下来,让我们创建testng.xml文件在 C:\ 》 TestNG_WORKSPACE 执行测试用例,此文件捕获整个测试XML。这个文件可以很容易地描述所有的测试套件和它们的参数在一个文件中,你可以检查你的代码库或e-mail给同事。这也使得它容易提取测试或分裂的几个运行时配置的子集(例如,TestNG的database.xml 只能运行测试,行使数据库)。
《?xml version="1.0" encoding="UTF-8"?》
《suite name="Sample test Suite"》
《test name="Sample test"》
《classes》
《class name="SampleTest" /》
《/classes》
《/test》
《/suite》
情况下使用javac编译测试
C:\TestNG_WORKSPACE》javac MessageUtil.java SampleTest.java
现在,运行这个 testng.xml,将运行中定义的测试用例 《test》 标签
C:\TestNG_WORKSPACE》java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
验证输出。
Hello World
===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
testng是什么
TestNG,即Testing,
Next
Generation,下一代测试技术,是一套根据JUnit
和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试。
testng和junit有什么优缺点,该如何选择
结论是两者差不多,一般人用用testng就好。
原因:1.testng底层调用junit
2.历史上曾有testng优于junit的一段时期,但随后junit已更新并追赶上来
3.testng的data provider使用较方便
4.testng能做的事情junit都能做,但是有的地方会比较麻烦,例如,数据驱动,多线程并发执行测试用例。testng更便捷,自带。junit则要依靠第三方工具提供。
5.junit能做的事情testng也都能做,但junit也有更便捷的时候。比如soft assertion,junit可以直接继承jassert做,testng你要自己去实现静态类来做。
6.junit是testng的底层,灵活度上更高。testng调用junit,对测试员来说用户体验更好。
使用idea+testNG搭建自动化测试框架
一、所需环境
1、JDK
2、Maven
3、intellij idea
二、创建工程
三、导入相关依赖包和插件
1)导入testNG依赖包
在pom.xml中添加
2)添加编译插件和执行测试插件
在pom.xml中添加
四、创建测试类
1)在Java文件夹下创建
2)编写testNG.xml
xml文件用于按照需要批量执行用例,右键选择运行可独立执行
《?xml version="1.0" encoding="utf-8" ?》
《suite name="testproj" parallel="false"》
《test name="testDemo1"》
《classes》
《class name="TestDemo"》《/class》
《/classes》
《/test》
《/suite》
五、运行testNG.xml
如何使用 testng.xml 实现多个测试用例的连续执行
《?xml version="1.0" encoding="UTF-8"?》
***隐藏网址***
《suite thread-count="3" name="Suite" parallel="tests"》
《test name="ie"》
《classes》
《class name="test.script.Dchrome1"/》
《class name="test.script.Dchrome2"/》
《class name="test.script.Dchrome3"/》
《/classes》
《/test》 《!-- Test --》
《/suite》 《!-- Suite --》

更多文章:
html网页模板(网页制作设计模板-旅游网页该如何设计模板)
2025年9月29日 04:45
this love歌词taylor(求Taylor Swift的Love Story的歌词的中文翻译~)
2025年6月19日 16:30
span标签有内容却不显示(定义一个CSS,但是只有DIV可以显示出来,span等都无法显示)
2026年7月29日 21:00
void sort是什么意思(请各位说说void sort里的算法是什么意思)
2025年6月20日 00:15
学电脑软件开发哪个学校好(电脑软件开发去什么学校学习比较好)
2026年8月16日 18:45
subject都有什么意思(“subject ”是什么意思)
2026年8月15日 06:00
莫奈的网络解释莫奈的网络解释是什么?莫奈的解释莫奈的解释是什么
2025年7月29日 02:00
网页模板停用不能上报怎么办(请教一下,关于网页模板显示不出来的问题~~)
2025年10月22日 22:45
dateadd函数的语法参数(在VB6.0中,DateAdd函数中,用“w“,“y“与“d“,我怎么感觉都一样呀,都是天)
2026年2月21日 15:30
springfestival用in oron(the Spring Festival前用in还是on)
2026年8月28日 02:45
acquaintance歌曲(新年快乐英文歌除了happy new year还有那些)
2026年4月19日 03:15
constantly continuously(constantly怎么读)
2025年8月8日 18:15











