java - 使用IntelliJ运行个别的testng测试并读取testng.xml参数

标签 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执行测试或类并将它们“链接”到原始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/

相关文章:

java - testng-failed.xml 正在重新运行所有测试,而不仅仅是失败的测试

java - 线程异常 "main"尝试运行 TestNG 类时 Eclipse 出错

java - 如何配置 MultipartResolver 以限制文件数量而不是大小?

maven - 找不到有效的 Maven 安装。在配置对话框中设置主目录或在系统上设置 M2_HOME 环境变量

java - Xmlbeans setter 在 gradle 测试中不起作用

java - 无法从 IntelliJ IDEA 12.1.4 Ultimate (Windows 7) 启动 Apache Tomcat 6

debugging - 如何在IDE Intellij中调试Kolin Vertx Web应用程序?

selenium - 如何确保保留TestNG.xml中指定的顺序?

java - Hadoop Mapreduce 多个输入文件

java - 使用Cucumber JUnit5引擎选择单个测试失败