我想根据testNG.xml中使用bean shell脚本的方法名称选择多个方法。这是我当前的testng.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="methodsuite">
<test name="test1" >
<method-selectors>
<method-selector>
<script language="beanshell">
<![CDATA[
String str=System.getProperty("testToRun");
testngMethod.getMethodName().contains(str);
]]>
</script>
</method-selector>
</method-selectors>
<packages>
<package name=".*"></package>
</packages>
</test>
</suite
在这里我可以一次选择一个方法。是否可以使用beanshell脚本选择多个方法?或者我可以在beanshell中使用循环/循环吗?
答案 0 :(得分:1)
当然,您可以在BeanShell脚本中选择多个测试。基本上,TestNG会针对您套件中的每个$.each( obj, function (i, field) {
alert(field.BidderName );
});
方法调用您的脚本(例如,在@Test
中定义),并将其他变量(http://testng.org/doc/documentation-main.html#beanshell)传递给它。你可以在这里定义自己的功能等。只有重要条件是 - 如果你想要或不包括“当前”,你必须返回true / false。测试套件的方法。因此,如果您将脚本更改为:
<packages>
名称以<script language="beanshell">
<![CDATA[
String str = System.getProperty("testPerformance");
testngMethod.getMethodName().startsWith(str);
]]>
</script>
开头的所有测试都将包含在测试套件中。