在TestNG xml文件中,如何调用beanshell中的另一个java方法?

在TestNG xml文件中,如何调用beanshell中的另一个java方法?,java,testng,beanshell,Java,Testng,Beanshell,在TestNG xml文件中,如何调用BeanShell中的另一个java方法? 下面是我在testNG xml文件方法选择器标记中使用的脚本。但不知何故,它没有选择任何要运行的测试用例,也没有给出任何bug。 validatePredicates是在另一个java类com.myProject.TestNG.TestClass.validatePredicates中编写的静态java方法 <script language="beanshell">

在TestNG xml文件中,如何调用BeanShell中的另一个java方法? 下面是我在testNG xml文件方法选择器标记中使用的脚本。但不知何故,它没有选择任何要运行的测试用例,也没有给出任何bug。 validatePredicates是在另一个java类com.myProject.TestNG.TestClass.validatePredicates中编写的静态java方法

            <script language="beanshell">
                <![CDATA[return com.myProject.TestNG.validatePredicates(groups,"myGroup&bug");
            ]]>
            </script>

问题在于以下方法:
com.myProject.TestNG.validatePredicates(String[]组,String testingExpression)

实际上,我希望组在字符串数组中,但testNg在
hashMap
中传递组。所以我将
String[]
更改为映射并解决了问题。

或者,您也可以使用
。这可以放在
标签下,具体取决于您希望它应用于单个测试还是套件中的所有测试

<method-selectors>
    <method-selector>
      <script language="beanshell"><![CDATA[
        groups.containsKey("myGroup&bug") ;
        ]]>
        </script>
     </method-selector>
    </method-selectors>


您是否试图选择在测试中使用
@myGroup&bug
组注释的方法?是的,基于布尔表达式选择组的逻辑是在validatePredicates方法中编写的。