【发布时间】:2021-05-21 16:16:01
【问题描述】:
在我由testNG 管理的基于Java 的项目中,我有各种各样的测试,每个测试可以属于几个组。假设这些组是“Sanity”、“Regression”、“UI”、“API”、“Integration”、“Module1”、“Module2”、“Module3”等。
例如。 @Test(priority = 7 ,groups= {"Sanity", "Regression", "UI", "Partners"}, description= "Create new partner")
我希望能够在 Chrome、Firefox 和 Edge 浏览器上运行我的测试。
我知道我可以在 testng.xml 中为每个特定组合或每个特定组创建单独的测试,例如
<test verbose="2" preserve-order="true" name="ChromeTests">
<parameter name="browser" value="Chrome"/>
<classes>
<class name="tests.MainRunner">
</class>
</classes>
</test>
在Chrome 中运行所有测试,我可以使用
<test verbose="2" preserve-order="true" name="Sanity Tests">
<groups>
<run>
<include name = "Sanity">
</include>
</run>
</groups>
<classes>
<class name="tests.MainRunner">
</class>
</classes>
</test>
运行“理智”相关的测试,我可以使用
<test verbose="2" preserve-order="true" name="ChromeTests">
<parameter name="browser" value="Chrome"/>
<groups>
<run>
<include name = "Sanity">
</include>
</run>
</groups>
<classes>
<class name="tests.MainRunner">
</class>
</classes>
</test>
在“Chrome”上运行“健全性”测试。
但是我有 3 个浏览器,比如说 10 个测试组。
我认为我不必在 testng.xml 中定义 30 个测试来涵盖我拥有的所有可能的组合。
另外,如何从IntelliJ 内部调用testng.xml 中的特定测试?
【问题讨论】:
标签: java selenium intellij-idea testng