Eugenio Valeiras
Eugenio Valeiras

Reputation: 1000

Add parameters to @beforeclass dynamically in TestNG

I need to add Parameters to @BeforeClass method with TestNG Class. I'm running a TestSuite dynamically with this code:

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??

Somethig like this but instead of test.setParameters something like beforeclass.addParameters.

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

Upvotes: 0

Views: 1364

Answers (2)

Eugenio Valeiras
Eugenio Valeiras

Reputation: 1000

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));
}

Upvotes: 0

juherr
juherr

Reputation: 5740

setParameters is available on XmlClass too.

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

Upvotes: 1

Related Questions