TestNG 6.10+问题与xml中的参数标记

时间:2017-04-05 00:50:58

标签: xml testng

要在测试套件之间共享通用参数,我们使用以下方法。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" [
    <!ENTITY parent SYSTEM "src/test/resources/<project_name>/common/parameters.xml">
    <!ENTITY host SYSTEM "src/test/resources/<project_name>/common/hostParameters.xml">
    <!ENTITY agent SYSTEM "src/test/resources/<project_name>/common/agentParameters.xml">
    ] >
<suite name="Test Suite" parallel="false" verbose="10">

  <!-- Reference to common parameters -->
  <parameters>&parent;</parameters>
  <parameters>&host;</parameters>
  <parameters>&agent;</parameters>

如果我们使用版本6.10+更新TestNG,它正在使用TestNG版本6.9.9我们收到以下错误。 org.xml.sax.SAXParseException; lineNumber:10; columnNumber:15;必须声明元素类型“参数”。

在6.10+中有什么变化,不允许在TestNG xml中使用“parameters”元素吗?不确定是什么导致它。

看起来很多人都使用这种方式,在不同的TestNG套件之间共享通用参数。 https://rationaleemotions.wordpress.com/2014/02/06/sharing-parameters-among-different-testng-suites/

2 个答案:

答案 0 :(得分:1)

在6.10+之前,TestNG没有检查格式错误的xml。

您的xml错误,因为您有<parameters>而不是<parameter>。 检查DTD命令以了解可以执行的操作:http://testng.org/testng-1.0.dtd.php

答案 1 :(得分:0)

删除参数标签后。它奏效了。

<parameter name="browser" value="chrome"/>
<parameter name="url" value="http://www.google.com"/>
<parameter name="node" value="http://192.168.1.7:4444/wd/hub"/>