testng中的Bean shell脚本

时间:2015-04-27 13:53:50

标签: testng beanshell

我想根据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中使用循环/循环吗?

1 个答案:

答案 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> 开头的所有测试都将包含在测试套件中。