我已经对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执行测试或类并将它们“链接”到原始
testng.xml
文件的任何方法吗?
最佳答案
您可以包含其他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 -->
关于java - 使用IntelliJ运行个别的testng测试并读取testng.xml参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27942515/