如何在 testng.xml 文件中使用变量

How to use a variable in testng.xml file

我有以下 xml 文件,我想在其中创建变量并在所有测试标记中使用它们。 在下面的 xml 文件中,属性 标签是我试图创建一个不起作用的变量。 我想在此 testng.xml 中创建两个变量 env 和 browser 并在同一个 testng.xml 中使用它们。 以下是我的代码。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="VW SRSTN-1152 suite">
    <property name = "env" value = "qa">qa</property>
    <property name = "browser" value = "firefox">firefox</property>
    <listeners>
           <listener
                class-name="com.utility.CustomTestNGReporter" />
     </listeners>
    <test name="Test-1">
    <parameter name = "environment" value="${env}"/>
    <parameter name = "browser" value="${browser}"/>
        <classes>
         <class name="com.TC1"/> 
         <class name="com.TC2"/>
        </classes>
   </test> <!-- Test1 -->
   <test name="Test-2">
    <parameter name = "environment" value="${env}"/>
    <parameter name = "browser" value="${browser}"/>
        <classes>
         <class name="com.TC1"/> 
         <class name="com.TC2"/> 
        </classes>
  </test> <!-- Test2 -->
</suite> <!-- Suite -->```


看到这个,

<suite name="Parameter test Suite" verbose="1">
<!-- This parameter will be passed to every test in this suite -->
<parameter name="suite-param" value="suite level parameter" />

<test name="Parameter Test one">
    <classes>
        <class name="com.myclass1Here"/>
    </classes>
</test>

<test name="Parameter Test two">
    <!-- This parameter will be passed this test only -->
    <parameter name="test-two-param" value="Test two parameter" />
    <classes>
        <class name="com.myclass2Here"/>
    </classes>
</test>
<test name="Parameter Test three">
    <!-- Overriding suite level parameter -->
    <parameter name="suite-param" value="overiding suite parameter" />
    <!-- Test specific parameter -->
    <parameter name="test-three-param" value="test three parameter" />
    <classes>
        <class name="com.myClass3Here"/>
    </classes>
</test>

根据您的要求,您可以使用套件级别标准杆或测试级别标准杆。您也可以在测试中覆盖套件级别标准杆