我想将测试API分为2组,并根据需要在testng xml中运行任何一组。
但是include标签中提到的方法总是被执行,而与Groups无关。我无法以任何方式在TestNg中实现此功能,因为我无法避免使用include标签。
我的Test类和对应的xml如下;
package com.eci.raft.tests.shadetree;
import java.io.IOException;
import org.testng.annotations.Test;
public class TestClass {
@Test(groups= {"WithOuthardware","Withhardware"})
public void configureApi() {
System.out.println("Configure");
}
@Test(groups= {"Withhardware"})
public void validateApi() throws IOException {
System.out.println("Validate");
throw new IOException();
}
}
TestNg.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="SuiteTest">
<groups>
<run>
<include name="WithOuthardware"></include>
</run>
</groups>
<test name="Test1" >
<classes>
<class name="com.eci.raft.tests.shadetree.TestClass">
<methods>
<include name="validateApi"></include>
</methods>
</class>
</classes>
</test>
<test name="Test2">
<classes>
<class name="com.eci.raft.tests.shadetree.TestClass">
</class>
</classes>
</test>
</suite>
“ Test1”中的“ validateApi”即使未使用“ WithOuthardware”组名进行标记,也会执行。
感谢和问候,
Venkatesh Ganesan
答案 0 :(得分:0)
不确定我是否正确理解了问题,但是您可以尝试类似的方法。
<div class="divider3">
<p class="item-1">"Super fast service and clean environment!" <br /> - John Anderson, GA</p>
<p class="item-2">"Plans have changed and I had to have a conference room within an hour and ThanksOffice was perfect for it!" <br /> - Ashley Green, CA</p>
<p class="item-3">"Very professional and satisfies every need." <br /> - Sam Smith, NJ</p>
</div>
您可以使用测试的组/优先级/依赖性。
<test name="Some random test">
<groups>
<run>
<include name="group1" />
<include name="group2" />
</run>
</groups>
<classes>
<class name="com.eci.raft.tests.shadetree.TestClass" />
</classes>
</test>
<test name="Some random test 2">
<groups>
<run>
<include name="group2" />
</run>
</groups>
<classes>
<class name="com.eci.raft.tests.shadetree.TestClass" />
</classes>
</test>
让我们知道是否还有其他需要帮助的地方。
答案 1 :(得分:0)
我认为问题出在您的xml上,这有点矛盾,因为它显式地包含了您不想包含的方法。您可以通过仅提供类来简化它并消除冲突,为XML尝试一下,看看它是否对您有用。
<suite name="SuiteTest">
<groups>
<run>
<include name="WithOuthardware"></include>
</run>
</groups>
<test name="Test" >
<classes>
<class name="com.eci.raft.tests.shadetree.TestClass">
</class>
</classes>
</test>
</suite>