我有Java自动化代码,可以读取每个测试的XML配置。 在之前的套件中,我已经阅读了静态的kdt参数
public static ImplementCustomerKDT kdt = new ImplementCustomerKDT();
@BeforeSuite(alwaysRun = true)
@Parameters({ "suite-param"})
public void beforeSuite(String suite){
kdt.readAllParameters(suite);
}
此函数阅读以下xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="JenkinsSuite" parallel="false" preserve-order="true">
<suite-files>
<suite-file path="CheckInUsingAllNames.xml" />
<suite-file path="CheckInUsingAllIDs.xml" />
</suite-files>
</suite>
每行都保留当前的测试配置,但我总是得到第一个行配置,我试图将参数类型从静态更改为非静态,但是结果是仅执行最后一个行配置。
<suite name="CheckInUsingAllNames" parallel="false" preserve-order="true">
<parameter name="suite-param" value="resources\kdt\jenkinsTests\CheckInUsingAllNames.xlsx"/>
</suite>
<suite name="CheckInUsingAllIDs" parallel="false" preserve-order="true">
<parameter name="suite-param" value="resources\kdt\jenkinsTests\CheckInUsingAllIDs.xlsx"/>
</suite>
因此,使用静态仅CheckInUsingAllNames.xlsx将被读取。 在非静态情况下,只会读取CheckInUsingAllIDs.xlsx。