testng.xml
下面的文件有三个参数。我不希望参数customerCode
被硬编码。我想将不同的/不同的customerCode
传递给下面的testng.xml
文件,但我也希望将Peter作为默认customerCode
,以防万一我不通过{{{ 1}}命令行如下:
mvn
以下是mvn test -DcustomerCode=customer1 -Ptestng.xml
文件:
testng.xml
我如何实现这一目标?有没有办法做到这一点?
以下是我的POM文件。我在哪里将<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="TestSuite" parallel="false">
<test name="someTest">
<parameter name="browserType" value="chrome_win"></parameter>
<parameter name="Url" value="http://regression.mytest.com/?customerCode=" />
<parameter name="customerCode" value="Peter"/>
<groups>
<run>
<exclude name="navigateToHomePage" />
</run>
</groups>
<classes>
<class name="com.automation.customermanagement.createTest.myIntegrationTest" >
<methods>
<exclude name="deleteCustomer" />
</methods>
</class>
</classes>
</test>
</suite>
属性放在个人资料中?
customerCode
答案 0 :(得分:2)
这是我实施的解决方案,它运行正常!
1)将以下属性添加到POM.xml
文件
<systemProperties>
<property>
<name>customerCode</name>
<value>Subaru</value>
</property>
</systemProperties>
2)将此行添加到测试方法
String customerCode= System.getProperty("customerCode");
3)以上行拉出以下mvn命令行中提供的customerCode=customer1
mvn test -DcustomerCode = customer1 -Ptestng.xml
如果您未在命令行中提供customerCode
,则会采用Subaru
文件中上述属性中提供的默认值POM.xml