gpt4 book ai didi

maven - 如何在 Jenkins 中使用 maven 从多个套件中运行特定的 TestNG 套件

转载 作者:行者123 更新时间:2023-12-05 00:13:06 26 4
gpt4 key购买 nike

我有一个包含 3 个 TestNG 套件和 4 个测试类的 maven 项目,我想在 jenkins 中运行一个特定的套件,我搜索了很多但发现只有一个命令可以放入目标 test -DsuiteXmlFile=Jquery.xml指定特定的套件,但是当我这样做时,它也会运行所有其他套件。我在这里卡了很长时间,请指导我完成整个过程。
而且我还想知道是否有任何设置我可以这样做,如果我选择一个套件来运行,我可以运行该套件的任何特定类。
我在这里附上了我的项目结构的图像,任何输入将不胜感激。谢谢 :)

project structure

大师99.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="WebGuru99">
<test thread-count="5" name="TestGuru99">
<classes>
<class name="com.selenium.vivek.Example2.WebGuru99_1"/>
<class name="com.selenium.vivek.Example2.WebGuru99_2"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

查询文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="WebJquery">
<test thread-count="5" name="TestJquery">
<classes>
<class name="com.selenium.vivek.Example2.WebJquery"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="WebRediff">
<test thread-count="5" name="TestRediff">
<classes>
<class name="com.selenium.vivek.Example2.WebRediff"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

xml文件
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>Suites/Guru99.xml</suiteXmlFile>
<suiteXmlFile>Suites/Rediff.xml</suiteXmlFile>
<suiteXmlFile>Suites/Jquery.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>

最佳答案

所以,我在这里没有找到任何答案,所以继续我的旅程,探索可以做些什么来解决这个问题并找到解决方案。因此,对于任何面临此类问题的人来说,不妨从中受益。

使用 <properties></properties>在 pom 文件中。添加一个标签,然后可以在运行 Maven 目标时将其作为参数传递。

我添加了' suiteFile ' 作为 pom 中的标签,然后在 <suiteXmlFile> 中传递它作为变量

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<suiteFile></suiteFile>
</properties>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${suiteFile}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>

然后在 Jenkins ,我通过了 clean test -DsuiteFile=Suites\Jquery.xml作为目标,它只运行那个套件。
希望对某人有所帮助:)

关于maven - 如何在 Jenkins 中使用 maven 从多个套件中运行特定的 TestNG 套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49075323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com