要在测试套件之间共享通用参数,我们使用以下方法。
<!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/
答案 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"/>