Mik*_*ike 5 java testng selenium selenium-rc selenium-webdriver
我有以下testng测试方法。
@Test(groups = {"tsg1.0","smoke"})
public void testLoginWithInvalidCredentials(String usernameValue, String passwordValue){
/*Print something*/
}
@Test(groups = {"tsg1.0"})
public void testLoginWithUserIdOnly(String username) {
/*Print something*/
}
@Test(groups = {"tsg1.0"})
public void testLoginWithPasswordOnly(String password) {
/*Print something*/
}
Run Code Online (Sandbox Code Playgroud)
这是用于测试上述方法的testng xml。
<suite name="Suite" thread-count="1" verbose="10">
<test name="Test">
<groups>
<run>
<include name="tsg1.0"/>
</run>
</groups>
<packages>
<package name="<test package name>"/>
</packages>
</test>
</suite>
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在其中创建一个XML,该XML将包含对“ TSG1.0”和“ SMOKE”组的测试。在这种情况下,我只希望运行第一个测试(testLoginWithInvalidCredentials)。
请帮忙。
谢谢,迈克。
PS:以下内容将不起作用,因为它将包含tsg1.0或Smoke。我想要这里的条件...
<run>
<include name="tsg1.0"/>
<include name="smoke"/>
</run>
Run Code Online (Sandbox Code Playgroud)
你实际上可以做到这个“半现成的”:http : //testng.org/doc/documentation-main.html#beanshell
在您的特定情况下,它会是这样的:
<method-selectors>
<method-selector>
<script language="beanshell"><![CDATA[
return groups.containsKey("tsg1.0") && groups.containsKey("smoke");
]]></script>
</method-selector>
</method-selectors>
Run Code Online (Sandbox Code Playgroud)
刚刚在这里更详细地回答了一个类似的问题: 如果它是两个组的成员,是否可以向 TestNG 设置一个条件来运行测试?
你可以有一组组。
Groups can also include other groups. These groups are called "MetaGroups".
For example, you might want to define a group "all" that includes "checkintest"
and "functest"."functest" itself will contain the groups "windows" and "linux"
while "checkintest will only contain "windows".
Run Code Online (Sandbox Code Playgroud)
属性文件示例:
<groups>
<define name="functest">
<include name="windows"/>
<include name="linux"/>
</define>
<define name="all">
<include name="functest"/>
<include name="checkintest"/>
</define>
<run>
<include name="all"/>
</run>
</groups>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10076 次 |
| 最近记录: |