java如何运行testng。来自Maven命令行的xml
我的pom中有以下条目。配置中定义的套件文件的xml
<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>
使用maven在cmd中运行此命令的正确方法是什么?我可以使用下面的命令运行测试,但是指示testng是没有意义的。在pom中已定义xml时,再次在命令中使用xml
mvn clean test -DsuiteXmlFile=testng.xml
# 1 楼答案
首先,请在pom中添加改进。xml。。。需要添加执行部分:
其次,可以在pom中创建节。带有变量的xml。然后,从cmd调用它
所以,原型pom的结果。xml
下面是cmd的一个例子:
mvn test -DdefaultSuiteFiles="./YOUR_DIRECTORY/YOUR_SUITE.xml,"
解释:在pom中。xml您可以将xml设置为默认值,并将其放置为变量。而且,如果在cmd中使用变量,则将重写值
# 2 楼答案
需要从testng的内容根传递路径。suiteXmlFiles标签之间的xml文件
例如,我的项目代替了testng。xml我使用文件名作为所有测试。xml,位于TestSuites文件夹下
现在运行
mvn clean test
, 它将从pom中选取测试套件文件。并运行本套件中提到的所有测试类注:
我们需要提及testng完整路径的原因。xml文件是, 因为默认情况下,maven将直接在项目级别下搜索此文件
如果您使用IntelliJ,您可以从内容根目录中找到testng的路径。xml文件,通过右键单击文件->;复制路径->;来自内容根目录的路径
# 3 楼答案
如果您有一个固定的testng xml,那么只需要执行
mvn clean test
。 默认情况下,surefire插件将在maven的测试阶段执行,并且将获取硬编码的xml# 4 楼答案
最简单的解决方案是,在surefire插件中添加以下行
并按如下方式运行xml文件