java - 有什么方法可以分块而不是完整地划分和运行 testng 测试
问题描述
我的 testng.xml 中有 100 个测试,大多数测试由于时间问题而失败,但是当我分块运行它们时它工作正常
我尝试的一种无效解决方案是将少量测试分成多个 testng.xml 文件并一个一个运行,寻找可以在运行时执行相同操作的替代方案
这是我的 testng.xml 的样子
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite">
<listeners>
<listener class-name="baseClasses.TestListener"></listener>
</listeners>
<test name="Android">
<parameter name="platform" value="android"></parameter>
<classes>
<class name="testCases.android.VerifyLoginLogout" />
<class name="testCases.android.test1" />
<class name="testCases.android.test2" />
...
<class name="testCases.android.test100" />
</classes>
</test>
</suite>
关于如何将测试分成块并在运行时一一运行的任何建议,所以我不需要将测试分成多个 testng.xml 文件
注意 - 甚至尝试在 testng.xml 中以包方式运行
解决方案
据我所知,您要分批运行测试用例。如果我是正确的,那么这很简单。只需将您的所有测试用例划分为多个test
标签并使用您想要在test
标签中执行的测试类。请看下面。
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite">
<listeners>
<listener class-name="baseClasses.TestListener"></listener>
</listeners>
<test name="Android-1">
<parameter name="platform" value="android"></parameter>
<classes>
<class name="testCases.android.VerifyLoginLogout" />
<class name="testCases.android.test1" />
<class name="testCases.android.test2" />
<class name="testCases.android.test3" />
</classes>
</test>
<test name="Android-2">
<parameter name="platform" value="android"></parameter>
<classes>
<class name="testCases.android.test4" />
<class name="testCases.android.test5" />
<class name="testCases.android.test6" />
</classes>
</test>
</suite>
我希望它会帮助你。
推荐阅读
- vue.js - 我应该如何更新 vue、computed 和 watcher 中的数据属性似乎并没有这样做
- go - 打印指针引用的地图值
- javascript - 带有谷歌地图和 Ionic 3 的空白页
- ansible - 在 Ansible 中导入时有没有办法引用组变量?
- oracle - Oracle (+) 连接在这种情况下如何工作
- amazon-web-services - Amazon Certificate Manager - 验证问题
- python - 如何从审计字段在 Pandas 中创建摘要行
- r - 在 Azure ML Studio 上为 Microsoft R Open 3.4.4 安装 textshape 包
- bash - 统计特定时间范围内修改的文件数
- node.js - 如何修复strapi内容类型中的“错误:枚举值”?