2017-08-01 80 views
0

我有兩個測試駐留在testNG套件XML中。我已經使用ITestContext在不同類的方法之間傳遞數據,但它們都在同一個測試中。如何在TestNG套件中的不同測試之間共享數據

但我不確定如何在套件中的不同測試之間傳遞數據。

樣品套件文件

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

回答

4

從內ITestContext您可以通過org.testng.ITestContext#getSuite

獲得訪問ISuite對象現在,一旦你有機會獲得ISuite對象,您可以共享使用org.testng.ISuite#getAttribute數據和setAttribute()方法(就像你如何處理ITestContext對象

這裏ISuite repr提供您的<test>所屬的<suite>

+0

謝謝你這個作品! – deepakguna