java - TestNG:使用 Testng XML 文件运行特定的组测试
问题描述
我有一个 testng xml 文件,该文件设置为运行特定类,该类具有包含以下组标记的方法或被分组为以下之一:
- 平行测试
- 顺序测试
- 冒烟测试
虽然我的一些测试被指定为并行或顺序,但一些测试可能包含一个额外的标签“烟雾测试”。在这种情况下,我希望能够运行那些被分组为“烟雾测试”的项目。当我运行测试时,它要么找不到任何测试,要么只运行分组为“顺序测试”的所有测试。我似乎无法将此 xml 文件的测试运行限制为仅分组为“烟雾测试”的那些测试。在同一个类中,我有多个 testNG 方法,它们具有“并行测试”组或“顺序测试”组。看起来 TestNG xml 文件所做的只是忽略了“并行测试”组。太好了,但是如果有包含组“并行测试”和“烟雾测试”的 Testng 方法怎么办?我想运行每个测试,无论它是用于并行测试还是顺序测试,但仅限于那些具有附加组标签“smoke-test”的测试。我的环境如下:
- 智能
- 马文
- 测试NG
- 爪哇
请帮忙。请参阅 WebTest.Test 类中的示例测试方法:
@Test(groups = {"sequential-test","smoke-test"},description = "Test will validate something")
public void RunTest()
{
//do something
}
这是下面的示例 xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!--This is a template to be modified for QA environment tests-->
<suite name="Smoke Test">
<listeners>
<listener class-name="Listeners.Listeners"/>
<listener class-name="Listeners.ExtentListeners"/>
</listeners>
<parameter name="environment" value="QA"></parameter>
<test verbose="2" name="Sequential tests" parallel="methods" thread-count="1">
<!--<groups>
<run>
<exclude name="parallel-test"/>
</run>
</groups>-->
<classes>
<class name="WebTests.Test">
<methods>
<include name="smoke-test"/>
</methods>
</class>
</classes>
</test>
</suite>
解决方案
下面的 XML Suite 应该运行具有组 'smoke-test' 的所有测试方法
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!--This is a template to be modified for QA environment tests-->
<suite name="Smoke Test">
<listeners>
<listener class-name="Listeners.Listeners"/>
<listener class-name="Listeners.ExtentListeners"/>
</listeners>
<parameter name="environment" value="QA"></parameter>
<test verbose="2" name="Sequential tests" parallel="methods" thread-count="1">
<groups>
<run>
<include name="smoke-test"/>
</run>
</groups>
<classes>
<class name="WebTests.Test"/>
</classes>
</test>
</suite>
推荐阅读
- postgresql - 如何在 postgreSQL 中计算小计
- clojure - 如何伪造涉及潜在危险操作的第三方 API 的嵌套使用?
- sql - 从 2019-05-02 12:00:00 到 2019-05-02 将日期时间转换为日期字符串
- c# - MissingFieldException:找不到字段:'Microsoft.Net.Http.Headers.HeaderNames.Authorization'
- c# - 根据时间变换(Unity & C#)
- javascript - 使用纯 JavaScript 删除不包含在数组中的值的选项
- python - 重采样频率不会在短时间内丢失数据增量
- genexus - 有没有办法知道 For each 何时在genexus X v3 上的第一次和最后一次迭代?
- swift - Firebase 将经过身份验证的用户添加到数据库
- r - 有没有办法在多列上使用 group_by 将密度函数传递到数据框?我需要原始数据框中的 x 和 kde 概率