在TestNG中动态地向@beforeclass添加参数

时间:2015-10-20 12:39:35

标签: java testng

我需要使用 TestNG 类将参数添加到 @BeforeClass 方法。 我使用以下代码动态运行TestSuite

List<XmlSuite> suites = getXmlTestSuiteForUI(xmlName);

TestNG testNG = new TestNG();

testNG.setXmlSuites(suites);
testNG.setPreserveOrder(true);
testNG.addListener(testListenerAdapter);

testNG.run();

如何将参数添加到@BeforeClass方法??

像这样的Somethig,而不是test.setParameters,类似于beforeclass.addParameters。

for (XmlSuite suite : suites){
    for(XmlTest test : suite.getTests()){
        test.setParameters(params);
    }
}

2 个答案:

答案 0 :(得分:1)

setParameters也可在XmlClass上找到。

for (XmlSuite suite : suites) {
    for(XmlTest test : suite.getTests()) {
        for(XmlClass clazz : test.getXmlClasses()) {
            clazz.setParameters(params);
        }
    }
}

答案 1 :(得分:0)

解决方案正在向套件中添加参数。

for (XmlSuite suite : suites) {
    suite.setParameters(parameters);
}

<强>的Test.class

@BeforeClass
@Parameters({"accountID"})
public void tearUp(String accountID) throws Exception {
    super.tearUp(Integer.valueOf(accountID));
}