📜  如何通过 testng.xml 在测试用例中传递参数 (1)

📅  最后修改于: 2023-12-03 15:09:17.122000             🧑  作者: Mango

如何通过 testng.xml 在测试用例中传递参数

TestNG 是一种流行的 Java 测试框架,它提供了许多方便的功能来编写和运行测试用例,其中之一就是通过 testng.xml 文件在测试用例中传递参数。

步骤
  1. 在 testng.xml 文件中定义参数:

    <suite name="My test suite">
      <parameter name="browser" value="chrome" />
      
      <test name="My test">
        ...
      </test>
    </suite>
    
  2. 在测试类中使用 @Parameters 注解来声明参数:

    public class MyTestClass {
        @Test
        @Parameters("browser")
        public void test(String browser) {
            ...
        }
    }
    

    注意:@Parameters 的参数名必须与 testng.xml 中定义的参数名相同。

  3. 运行测试用例:

    在命令行中运行时,可以使用 -D 参数传递参数值:

    java -cp testng.jar;build\classes MyTestSuite -Dbrowser=firefox
    

    在 IDE 中运行时,可以在运行配置中设置参数:

    testng参数设置

    或者在 testng.xml 文件中设置系统属性:

    <suite name="My test suite">
      <parameter name="browser" value="chrome" />
      <parameters>
        <parameter name="url" value="https://www.example.com" />
      </parameters>
      
      <test name="My test">
        <classes>
          <class name="com.example.MyTestClass" />
        </classes>
        <sysproperty key="browser" value="${browser}" />
      </test>
    </suite>
    

    这里使用了变量 ${browser} 来指定参数值,可以在运行时通过 -Dbrowser=chrome 来设置。

总结

通过 testng.xml 在测试用例中传递参数可以让测试程序更加灵活和可配置。需要注意的是,参数名要保持一致,否则测试会报错。同时,尽量避免硬编码参数值,而是通过配置文件或命令行参数来设置。