2015-01-14 32 views
2

我有參數化的testng測試,我想單獨使用IntelliJ「運行/調試測試」功能執行它們(用於調試目的)。運行單獨的testng測試並使用IntelliJ讀取testng.xml參數

當我這樣做,我有不同的執行環境,因爲它本身的IntelliJ創建一個新的文件testng.xml"user\.IdeaIC14\system\temp-testng-customsuite.xml"不帶參數的信息。

我的代碼是:

@BeforeTest 
public void setUpTestSuite(ITestContext context) throws Exception { 

    Map<String, String> suiteParams = context.getCurrentXmlTest().getSuite().getParameters(); 

    url = suiteParams.get("URL"); 
    login = suiteParams.get("login"); 
    pass = suiteParams.get("pass"); 
} 

運行試驗時從單獨的IntelliJ suiteParams是空的。

有沒有人知道任何方式從IntelliJ執行測試或類,並將它們「鏈接」到原始文件testng.xml

+0

* testng tests *是您需要的嗎? –

+0

@nikpon對不起,我沒有得到你的問題...我添加了一些代碼來顯示我的問題 – Morvader

回答

0

您可以包含其他XML

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" 
[ 
<!ENTITY parent SYSTEM "xml/parameters.xml"> 
]> 
<!-- Mozna ladowac parametry z roznych xmlow --> 

<suite name="TestCase" order-by-instances="true"> 
    <parmeters>&parent; 
    </parmeters> 
    ... 

或者您的參數!您可以在您的TestNG.xml中實現其他XML套件。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Suite" parallel="none"> 
    <suite-files> 
     <suite-file path="/path/to/your/otherXMLsuiteWithTest"/> 
    </suite-files> 
</suite> <!-- Suite --> 
+0

我得到你的workarround。但是不能解決問題,因爲當從IntelliJ執行測試時,將不會使用此TestNG.xml文件,所以不會讀取XML文件中的附加參數。不管怎麼說,還是要謝謝你! – Morvader

相關問題