📜  在 testng 中传递参数 (1)

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

在 TestNG 中传递参数

在 TestNG 中可以通过传递参数来定制化测试。参数化测试可以让同一个测试方法执行多次,每次使用不同的参数。TestNG 通过 @Parameters注解和 XML 文件来支持参数化执行测试。

通过 XML 文件传递参数

TestNG 通过 XML 文件来传递参数。首先需要在测试类上加上 @Test注解,并指定 @Parameters注解,例如:

public class ParameterTest {
 
    @Test
    @Parameters({ "param1", "param2" }) //指定参数名称
    public void testCase(String param1, String param2) {
        System.out.println("Param 1: " + param1);
        System.out.println("Param 2: " + param2);
    }
}

然后在 XML 文件中指定参数值,例如:

<suite name="Suite1">
    <test name="Test1">
        <parameter name="param1" value="value1"/>
        <parameter name="param2" value="value2"/>
        <classes>
            <class name="test.ParameterTest"/>
        </classes>
    </test>
</suite>
通过 testng.xml 文件传递参数

TestNG 也支持通过 testng.xml 文件来传递参数。在 testng.xml 文件中指定参数,例如:

<suite name="Suite1">
    <test name="Test1">
        <parameter name="param1" value="value1"/>
        <parameter name="param2" value="value2"/>
        <classes>
            <class name="test.ParameterTest"/>
        </classes>
    </test>
</suite>

然后在测试类中使用 @Parameters 注解来接收参数,例如:

public class ParameterTest {
 
    @Test
    @Parameters({ "param1", "param2" }) //指定参数名称
    public void testCase(String param1, String param2) {
        System.out.println("Param 1: " + param1);
        System.out.println("Param 2: " + param2);
    }
}
结论

在 TestNG 中,参数化测试可以很方便地执行同一个测试方法多次,每次使用不同的参数。TestNG 通过 @Parameters注解和 XML 文件来支持参数化执行测试,开发者可以根据实际需求选择不同的方式来传递参数。