📅  最后修改于: 2023-12-03 15:09:17.122000             🧑  作者: Mango
TestNG 是一种流行的 Java 测试框架,它提供了许多方便的功能来编写和运行测试用例,其中之一就是通过 testng.xml 文件在测试用例中传递参数。
在 testng.xml 文件中定义参数:
<suite name="My test suite">
<parameter name="browser" value="chrome" />
<test name="My test">
...
</test>
</suite>
在测试类中使用 @Parameters 注解来声明参数:
public class MyTestClass {
@Test
@Parameters("browser")
public void test(String browser) {
...
}
}
注意:@Parameters 的参数名必须与 testng.xml 中定义的参数名相同。
运行测试用例:
在命令行中运行时,可以使用 -D 参数传递参数值:
java -cp testng.jar;build\classes MyTestSuite -Dbrowser=firefox
在 IDE 中运行时,可以在运行配置中设置参数:
或者在 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 在测试用例中传递参数可以让测试程序更加灵活和可配置。需要注意的是,参数名要保持一致,否则测试会报错。同时,尽量避免硬编码参数值,而是通过配置文件或命令行参数来设置。