/ testng没有执行类attribute.testng中提到的所有方法,允许在class属性中添加多个方法属性。运行它时,只执行testng xml中提到的最后一个方法(methodname2)< / em> /
<suite name="test" verbose="1">
<test name="test-Testing">
<classes>
<class name="com.qa.testcases.test">
<methods>
<parameter name="name" value="name"></parameter>
<parameter name="description" value="description"></parameter>
<include method="methodname1" />
</methods>
<methods>
<parameter name="name1" value="name1"></parameter>
<parameter name="description1" value="description1">/parameter>
<include method="methodname2" />
</methods>
</class>
</classes>
</test>
</suite>
&#13;
答案 0 :(得分:1)
我认为问题是您的<methods>
节点中有两个<class>
个节点。但是,虽然我找不到任何明确说明两个<methods>
节点无效的内容,但我可以说,我从未见过或使用过这种格式的TestNG XML文件。
我所看到的是两个测试方法,每个测试方法都有自己的一组参数。我的建议是简单地重新组织你的XML。我会建议两个选项中的一个(虽然这些当然不是唯一有效的选项):
一种方法是将XML分解为两个<test>
节点,每个节点运行其中一个方法,并使用它自己的一组参数。
<suite name="test" verbose="1">
<test name="test-Testing1">
<parameter name="name" value="name"></parameter>
<parameter name="description" value="description"></parameter>
<classes>
<class name="com.qa.testcases.test">
<methods>
<include method="methodname1" />
</methods>
</class>
</classes>
</test>
<test name="test-Testing2">
<parameter name="name1" value="name1"></parameter>
<parameter name="description1" value="description1">/parameter>
<classes>
<class name="com.qa.testcases.test">
<methods>
<include method="methodname2" />
</methods>
</class>
</classes>
</test>
</suite>
通过上述内容,您可能需要根据需要重新调整配置注释(@ Before / After)并进行小调整(请记住,注释会映射到TestNG中的XML节点)。
第二个选项会将所有内容保存在一个<test>
节点中,然后依靠每个@Test
方法使用相应的@Parameters
注释从XML中获取正确的参数。
<suite name="test" verbose="1">
<test name="test-Testing">
<parameter name="name" value="name"></parameter>
<parameter name="description" value="description"></parameter>
<parameter name="name1" value="name1"></parameter>
<parameter name="description1" value="description1">/parameter>
<classes>
<class name="com.qa.testcases.test">
<methods>
<include method="methodname1" />
<include method="methodname2" />
</methods>
</class>
</classes>
</test>
</suite>
有了上述内容,代码中的methodname1()
将需要@Parameters
注释来调用name
和description
,而methodname2()
会调用name1
}和description1
。
从这里开始,您可以通过XML布局获得更多创意,但这应该可以帮助您入门。可以找到更多信息here。