我们在TestNG XML中有一个在测试级别(2个或更多个测试)声明的参数,如下所示。
<test name="Regression Tests - Test1">
<parameter name="TestData" value = "Sample.xls" />
<parameter name="VaultName" value = "Test Vault" />
<parameter name="RestoreVault" value = "Test1" />
<groups>
<run>
<exclude name="Bug"></exclude>
</run>
</groups>
<classes>
<class name="Project.Tests.RegTest1"/>
</classes>
</test>
<test name="Regression Tests - Test2">
<parameter name="TestData" value = "Sample.xls" />
<parameter name="VaultName" value = "Test Vault" />
<parameter name="RestoreVault" value = "Test2" />
<groups>
<run>
<exclude name="Bug"></exclude>
</run>
</groups>
<classes>
<class name="Project.Tests.RegTest2"/>
</classes>
</test>
参数值是使用以下代码
在脚本中访问的function test () {
XmlTest xmlParameters = Reporter.getCurrentTestResult().getTestContext().getCurrentXmlTest();
String param1 = xmlParameters.getParameter("RestoreVault");
}
param1的值被正确读取为'Test1',但在执行第二次测试时,值仍然与'Test1'相同而不是'Test2'。
您能否告诉我们这里的原因或建议。