我想根据 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中是否允许循环?
最佳答案
当然,您可以在 BeanShell 脚本中选择多个测试。基本上 TestNG 为每个 @Test
调用您的脚本在你的套件中找到的方法(例如在 <packages>
中定义)并将附加变量( http://testng.org/doc/documentation-main.html#beanshell )传递给它。您可以在这里定义自己的函数等。唯一重要的条件是 - 如果您想要或不包含“当前”方法到测试套件,您必须返回 true/false。因此,如果您将脚本更改为:
<script language="beanshell">
<![CDATA[
String str = System.getProperty("testPerformance");
testngMethod.getMethodName().startsWith(str);
]]>
</script>
名称以 testPerformance
开头的所有测试将包含在测试套件中。
关于testng - testng 中的 Bean shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29897752/