xml文件中的参数设置在<include>
标记内,如下所示:
<suite name="Suite">
<listeners>
<listener class-name="..MyTestListener"/>
</listeners>
<classes>
<class name="Foo">
<methods>
<include name="myTest">
<parameter name="parameter1" value="parameterValue"/>
</include>
..
当然,如果参数标记位于include标记之外,我可以访问beforeInvocation方法中的test参数,例如:method.getTestMethod().getXmlTest().getParameter("parameter1")
。但在这种情况下,参数必须绑定到测试方法,并且我得到null作为getParameter方法返回值。
谢谢,Stristi
答案 0 :(得分:1)
我找到了问题的答案。 IInvokedMethodListener beforeInvocation方法具有ITestResult参数,该参数具有getParameters和setParameters方法。或者IHookable接口允许您处理testMethod的输入参数,并回调testMethod。
Br,Stristi
答案 1 :(得分:0)
根据dtd here,可以在<suite>
或<test>
级别定义参数。
在级别定义的参数覆盖<suite>
中相同名称的参数。因此,无法在类级别关联参数。
此外,testng中的<test>
表示一组类,例如here。您可以参考part of testng documentation,其中解释了testng xml命名法,如果有帮助的话。 <test>
标记中的参数可以由属于它的所有类引用。