如何在TestNG套件中的不同测试之间共享数据

时间:2017-08-01 08:03:03

标签: testng

我有两个测试驻留在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 -->

1 个答案:

答案 0 :(得分:4)

ITestContext内,您可以通过ISuite

访问org.testng.ITestContext#getSuite对象

现在,一旦您有权访问ISuite对象,就可以使用org.testng.ISuite#getAttributesetAttribute()方法共享数据(就像您对ITestContext对象的处理方式一样/ p>

此处ISuite代表<suite>所属的<test>