如何使用testng.xml在包装中运行100个类中存在的方法1



我必须在软件包中运行该方法1的结构看起来像

Package - Regression
     |--class1
         |-method1
         |-method2
     |--class2
         |-method1
         |-method2
     |--class3 
     .
     .
     and so on goes to classN where N can be from 100 to 2000.

现在,我需要编写testng.xml是一种方法1在包级别上执行的所有类中的方法1

或将来如果我需要在软件包级别执行Method1和Method2?

预先感谢解决方案

您可以使用beanshell方法选择器很容易地执行此操作。

这是一个样本

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="54859054_suite" verbose="2">
  <method-selectors>
    <method-selector>
      <script language="beanshell">
        <![CDATA[
        whatMethod = System.getProperty("methodToExecute", "testMethod1");
        method.getName().equals(whatMethod);
        ]]>
      </script>
    </method-selector>
  </method-selectors>
  <test name="54859054_test">
    <packages>
      <package name="com.rationaleemotions.stackoverflow.qn54859054"/>
    </packages>
  </test>
</suite>

默认情况下,上面的beanshell将执行其名称为" TestMethod1"的方法(因为我们为JVM参数提供的默认值methodToExecute

如果您想在运行时更改其价值,则只需通过JVM Arugment传递新值。例如,-DmethodToExecute=testMethod2

最新更新