使用IntelliJ运行单独的testng测试并读取testng.xml参数

时间:2015-01-14 12:03:03

标签: java intellij-idea testng

我有参数化的testng测试,我想使用IntelliJ"运行/调试测试"单独执行它们(用于调试目的)。特征

当我这样做时,我有一个不同的执行上下文,因为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和&#34;链接&#34;执行测试或类的任何方法。它们是原始testng.xml文件?

1 个答案:

答案 0 :(得分:-1)

您可以包含其他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 -->