我下面有testng.xml文件:
<test name="Product_Listing_Page" enabled="true">
<parameter name="scenario.file.loc" value="scenarios/plp.bdd"></parameter>
<groups>
<run>
<include name="REGRESSION" />
</run>
</groups>
<classes>
<class name="client.text.BDDTestFactory"></class>
</classes>
</test>
<test name="Registration" enabled="false">
<parameter name="scenario.file.loc" value="scenarios/registration.bdd"></parameter>
<groups>
<run>
<include name="REGRESSION" />
</run>
</groups>
<classes>
<class name="client.text.BDDTestFactory"></class>
</classes>
</test>
我已经创建了一个Jenkins作业作为Maven项目,在这里我将testng.xml
文件名作为参数传递给clean test -DSuiteXmlFile=config/testrun_config.xml
,因为我也已经在后期生成触发器中配置了failed-test.xml
。我正在寻找一种可以通过命令传递测试名称的方法。
关于此的任何想法还是我需要尝试其他方法?
答案 0 :(得分:0)
使用以下命令将多个参数从Jenking传递到Maven:
clean install compile test -DsuiteXmlFile=$TestNgFile -DOtherParamerer1=$ValueOfParameter1 -DOtherParameter2=$ValueOfParameter2
使用以下方法在pom.xml中接收这些值:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skip>false </skip>
<forkCount>0</forkCount>
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<systemProperties>
<property>
<name>ValueOfParameter1</name>
<value>${OtherParamerer1}</value>
</property>
<property>
<name>ValueOfParameter2</name>
<value>${OtherParameter2}</value>
</property>
</systemProperties>
</configuration>
</plugin>
这些值可以在任何javaFile或其他语言程序中读取:
static String ValueOfParameter1=System.getProperty("ValueOfParameter1");
static String ValueOfParameter2= System.getProperty("ValueOfParameter2");
让我知道它是否可以解决您的问题。