【问题标题】:Use custom TestNG.xml file instead of the one generated automatically?使用自定义 TestNG.xml 文件而不是自动生成的文件?
【发布时间】:2017-02-07 16:30:29
【问题描述】:

我在Eclipse 中有一个Maven/TestNG/Selenium 项目。当我将项目作为TestNG 测试运行时,我在控制台中看到了这一点:

[TestNG] Running:    
    /private/var/folders/ly/hg5d7s916xs2f9c1l95ndqcm0000gn/T/testng-eclipse-1560914389/testng-customsuite.xml

太棒了。所以我将该文件复制到顶级文件夹(在我的pom.xml 旁边),然后重新运行该项目。但我看到了:

[TestNG] Running:
    /private/var/folders/ly/hg5d7s916xs2f9c1l95ndqcm0000gn/T/testng-eclipse-631698178/testng-customsuite.xml

它生成了一个新的 XML 文件。但是,我需要设置参数和其他东西,以便我的测试以分布式方式运行。如何使用我编辑的 XML 文件?谢谢!

【问题讨论】:

    标签: java maven unit-testing testng


    【解决方案1】:

    创建您自己的名为testng.xml 的文件并将其放入src/test/resources

    您可能需要安装 maven-surefire-plugin 以使其额外工作。

    <plugins>
        [...]
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
              <suiteXmlFiles>
                <suiteXmlFile>testng.xml</suiteXmlFile>
              </suiteXmlFiles>
            </configuration>
          </plugin>
        [...]
    </plugins>
    

    更新

    如果你想从 Eclipse 中指定自定义套件,那么你必须去

    Debug Configuration -&gt; New TestNG Test -&gt; Suite

    选择套件选项后,您可以选择项目中的任何套件 xml 文件。

    【讨论】:

    • 感谢您的回答。我将一个名为testng.xml 的文件添加到src/test/resources,并将上述xml 行添加到pom.xml 的&lt;build&gt; 部分。我应该安装surefire插件,因为它会在target/surefire-reports文件夹中生成测试报告,但除此之外我不知道在哪里检查。但是,当Run AsTestNG Test 时,我仍然在控制台中看到它正在/private/var/... 中生成一个新的XML 文件
    • Run As TestNG Test.. 所以你直接从 eclipse 运行它?
    • 是的,这就是我正在做的事情。
    • 太棒了!做到了!出于好奇,你知道如何在我右键单击项目时将Suite 添加到列表Run As 选项中吗?
    • 不确定您是否可以这样做.. 但在顶部面板上.. 您有调试按钮.. 当您扩展它时,您将使用某个套件进行自定义 testng 测试.. 您可以根据需要从那里重新运行它多次
    猜你喜欢
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多