1.2 命令行执行testng.xml第一种方式

本文基于maven 3.6.3、jdk 15、surefire 3.0.0 - M5环境,对命令行执行testng.xml进行多种情况测试。如testng.xml位于根目录,不同suiteXmlFile配置下执行mvn命令的结果不同。最后总结出<suiteXmlFile>标签使用规则及执行多个xml的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于上一篇的环境

maven:3.6.3

jdk:15

surefire:3.0.0-M5

1、testng.xml位于根目录,suiteXmlFile中没有配置路径,直接命令行执行mvn test

  <suiteXmlFiles>
              <suiteXmlFile>testng.xml</suiteXmlFile>
            </suiteXmlFiles>

结果:控制台报错,经过分析,应该是由于找不到testng.xml报的错

2、testng.xml位于根目录,suiteXmlFile中的配置不变,执行mvn clean test -DsuiteXmlFile=testng.xml

结果:testng.xml正常运行

3、testng.xml位于根目录,suiteXmlFile配置改为$ {suiteXmlFile},执行mvn clean test -DsuiteXmlFile=testng.xml

结果:报错,用例没有跑

4、testng.xml位于根目录,将suiteXmlFile中的配置注释掉,执行mvn clean test -DsuiteXmlFile=testng.xml

结果:testng.xml正常运行

5、在根目录再添加一个suite.xml,将suiteXmlFile中的配置注释掉,执行mvn clean test -DsuiteXmlFile=testng.xml

结果:testng.xml和suite.xml都执行了

6、根目录有suite.xml,testng.xml,将suiteXmlFile中的只配置testng.xml,执行mvn clean test -DsuiteXmlFile=testng.xml

结果:只执行了testng.xml,suite.xml没有执行

其他的测试结果就不再赘述,直接总结一下。

总结:

a.<suiteXmlFile>标签可以注释掉,如果有配置,请保证<suiteXmlFile>中配置的路径是xml用例的实际地址。

b.如果要执行多个xml,有几种方式

        ①没有<suiteXmlFile>标签,执行mvn clean test -DsuiteXmlFile或者mvn clean test -DsuiteXmlFile=testng.xml,

testng.xml的同级xml都会执行。

        ②配置<suiteXmlFile>标签,将需要执行的xml都配置进去,执行mvn clean test -DsuiteXmlFile或者

mvn clean test -DsuiteXmlFile=testng.xml,则testng.xml的同级都会执行

<configuration>
            <suiteXmlFiles>
              <suiteXmlFile>testng.xml</suiteXmlFile>
              <suiteXmlFile>suite.xml</suiteXmlFile>
            </suiteXmlFiles>
          </configuration>

       ③如果要指定某一个xml去执行,<suiteXmlFile>标签中只能留下需要执行的xml,执行mvn clean test -DsuiteXmlFile

或者mvn clean test -DsuiteXmlFile=testng.xml,即便等号后面写错了,也会执行<suiteXmlFile>标签中的xml

 

<suiteXmlFile>标签中配置$ {suiteXmlFile}目前看,应该只与jenkins的传值有关!

TestNG 是一个广泛使用的测试框架,支持多种运行方式。如果在使用过程中发现无法运行 `testng.xml` 文件,并且在 IDE 或构建工具中没有看到 "Run" 选项,可能是由于以下几个原因和解决方案: 1. **确保 TestNG 插件已安装** 在 IntelliJ IDEA 中,需要确认已经安装了 TestNG 插件。可以通过以下路径检查:`File > Settings > Plugins`,然后搜索 "TestNG" 并安装插件 [^2]。 2. **正确保存 XML 文件** 在某些情况下,特别是使用 IntelliJ IDEA 时,如果 `testng.xml` 文件未被正确保存,可能不会显示 "Run" 选项。尝试按下 `Ctrl + S` 快捷键保存文件,这通常会触发 IDE 更新其状态并显示 "Run" 选项 。 3. **检查 XML 文件的格式** 确保 `testng.xml` 文件的内容是有效的,即没有语法错误或结构问题。例如,一个基本的 `testng.xml` 文件应该如下所示: ```xml <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" > <suite name="Suite1"> <test name="Test1"> <classes> <class name="com.example.TestClass"/> </classes> </test> </suite> ``` 如果 XML 文件存在格式错误,IDE 可能无法识别它为可运行的测试套件 [^1]。 4. **使用 Maven 或 Gradle 构建工具** 如果直接通过 IDE 运行 `testng.xml` 文件仍然存在问题,可以考虑使用构建工具如 Maven 或 Gradle 来执行测试。对于 Maven 项目,可以在 `pom.xml` 中配置 TestNG 插件,并通过命令行运行测试: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> <configuration> <suiteXmlFiles> <file>src/test/resources/testng.xml</file> </suiteXmlFiles> </configuration> </plugin> </plugins> </build> ``` 然后在命令行执行: ```sh mvn test ``` 5. **从命令行运行 TestNG** 如果上述方法均不可行,可以直接从命令行运行 `testng.xml` 文件。假设 TestNG 已经添加到项目的依赖管理中,可以使用以下命令: ```sh java -cp "path/to/testng.jar:path/to/your/classes" org.testng.TestNG testng.xml ``` 6. **重新导入项目** 有时候,IDE 的缓存可能会导致一些问题。尝试重新导入项目,或者清除缓存后重启 IDE,这有助于解决此类问题。 7. **检查项目结构** 确保 `testng.xml` 文件位于正确的目录下,通常是 `src/test/resources`。如果文件位置不正确,IDE 可能不会将其识别为测试资源 [^1]。 通过以上步骤,应该能够解决 TestNG XML 文件无法运行的问题。如果仍有疑问或遇到其他问题,建议查阅官方文档或社区支持资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值