我必须在软件包中运行该方法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