下面的testng.xml文件具有三个参数。我不希望对customerCode参数进行硬编码。我想将变化/不同的customerCode传递给以下testng.xml文件,但是我也想让Peter作为默认的customerCode,以防万一我不通过mvn命令行提供以下内容:

mvn test -DcustomerCode=customer1 -Ptestng.xml

以下是testng.xml文件:
<?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>

我该如何实现?有没有办法做到这一点?

以下是我的POM文件。我在配置文件中的哪里放置customerCode属性?
<profile>
    <id>AddMgmtTest</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>admgmttestng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

最佳答案

这是我实施的解决方案,它工作正常!

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的默认值。

07-26 00:00