TestNG中的参数Parameters概念

测试类中定义的测试方法,通常是不带参数的,但如果确实想要参数怎么办呢?TestNG中的参数标注@Parameters主要解决这个问题。

使用TestNG中的参数标注@Parameters为测试方法传递参数,这个过程可以分为两步,第一步是在测试类中定义测试方法时,通过@Parameters为测试方法声明参数的名称;第二步是在testng.xml配置文件中制定测试规划时,通过测试参数的名称为测试参数赋值。

1. 在测试类中声明测试参数的名称

通过@Parameters可以声明多个参数,只要与测试方法的参数一一对应即可。如果参数不对应则在执行测试的时候会抛出异常。

示例如下:

@Parameters({ "first-name", "last-name" })  
@Test  
public void testSingleString(String firstName, String lastName) {  
  System.out.println("Invoked testString " + firstName + " " + lastName);  
}  

2.在testng.xml配置文件中为测试参数赋值

在测试类中定义好的测试参数,其初始值是在testng.xml配置文件中设置的。对应不同的测试,初始值可能不同。示例如下:

    1. <suite name="My suite">  
    2.   <parameter name="first-name"  value="Cedric"/>  
    3.   <parameter name="last-name"  value="Han"/>  
    4.   <test name="Simple example">  
    5.   <-- ... --

在testng.xml配置文件中,可以通过全局参数(与各个测试用例无关,如上例所示)为测试参数赋值,也可以在各个测试用例中为测试参数赋值。如果一个测试参数,同时有全局赋值和测试用例赋值,则采用测试用例赋值。

原文地址:https://www.cnblogs.com/amy7758/p/6650057.html