我有两个测试驻留在testNG套件XML中。我已经使用ITestContext在不同类中的方法之间传递数据,但它们都驻留在同一个测试中。
但我不确定如何在套件中的不同测试之间传递数据。
示例套件文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="test">
<parameter name="browser" value="firefox"/>
<parameter name="executionEnviroment" value="qa"/>
<parameter name="runOnMachine" value="127.0.0.1"/>
<parameter name="projectPath" value="D://green_sourceonvm02"/>
<parameter name="device" value="api"/>
<parameter name="releaseVersion" value="4.0"/>
<test verbose="2" name="Test A ">
<groups>
<run>
<include name="A" />
<include name="userRating" />
</run>
</groups>
<classes>
<class name="com.A"/>
</classes>
</test>
<test verbose="2" name="Test B ">
<groups>
<run>
<include name="B" />
</run>
</groups>
<classes>
<class name="com.B"/>
</classes>
</test>
</suite> <!-- Default suite -->
答案 0 :(得分:4)
在ITestContext
内,您可以通过ISuite
org.testng.ITestContext#getSuite
对象
现在,一旦您有权访问ISuite
对象,就可以使用org.testng.ISuite#getAttribute
和setAttribute()
方法共享数据(就像您对ITestContext
对象的处理方式一样/ p>
此处ISuite
代表<suite>
所属的<test>
。