0

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

当然,如果参数标记在包含标记之外,我可以在 beforeInvocation 方法中到达测试参数,例如:method.getTestMethod().getXmlTest().getParameter("parameter1")。但是在这种情况下,参数必须绑定到测试方法,并且我得到 null 作为 getParameter 方法的返回值。

谢谢, 斯特里斯蒂

4

2 回答 2

1

我找到了我的问题的答案。IInvokedMethodListener beforeInvocation 方法有 ITestResult 参数,它有 getParameters 和 setParameters 方法。或者 IHookable 接口允许你处理 testMethod 的输入参数,并回调 testMethod。

兄弟,斯特里斯蒂

于 2012-05-11T16:19:19.373 回答
0

根据此处的 dtd ,可以在级别<suite><test>级别定义参数。在级别定义的参数会覆盖 中的同名参数<suite>。因此,不能在类级别关联参数。

此外,a <test>in testng 表示一组类,例如here。如果有帮助,您可能可以参考testng 文档的部分,其中解释了 testng xml 命名法。标签中的参数<test>,可以被它下的所有类引用。

于 2012-05-10T17:54:51.930 回答