Reputation: 37
I want to provide class level parameter in testng.xml.
Please can someone suggest if that is possible (or possible workaround). I am currently getting below error in doing so:
"The content of element type "classes" must match "(class*,parameter*)"
<classes>
<parameter name ="P1" value="V1"/>
<class name="someclass1" />
<parameter name ="P1" value="V2"/>
<class name="someclass2" />
</classes>
Upvotes: 1
Views: 2251
Reputation: 5740
From the documentation:
Parameters are scoped. In testng.xml, you can declare them either under a
<suite>
tag or under<test>
.
At the opposite, the DTD allows parameters on <classes>
node but the parser is complaining because you don't respect the order of nodes.
BTW, it is not possible to have a specific value for each class in the same <test>
node.
In other words, you will have to make many <test>
nodes:
<suite>
<test>
<classes>
<class name="someclass1"/>
<parameter name="P1" value="V1"/>
</classes>
</test>
<test>
<classes>
<class name="someclass2"/>
<parameter name="P1" value="V2"/>
</classes>
</test>
</suite>
Upvotes: 3