简体   繁体   English

在TestNG中将参数动态添加到@beforeclass

[英]Add parameters to @beforeclass dynamically in TestNG

I need to add Parameters to @BeforeClass method with TestNG Class. 我需要使用TestNG Class将参数添加到@BeforeClass方法中。 I'm running a TestSuite dynamically with this code: 我正在使用以下代码动态运行TestSuite

List<XmlSuite> suites = getXmlTestSuiteForUI(xmlName);

TestNG testNG = new TestNG();

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

testNG.run();

How can I add parameters to the @BeforeClass Method?? 如何将参数添加到@BeforeClass方法?

Somethig like this but instead of test.setParameters something like beforeclass.addParameters. 像这样的东西,但不是test.setParameters,而是像beforeclass.addParameters。

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

setParameters is available on XmlClass too. setParameters也可以在XmlClassXmlClass

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

The solution is adding parameters into suite. 解决方案是将参数添加到套件中。

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

Test.class 测试类

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM