(四)Parameters,简单参数就用这个

Parameters注解在测试方法上指定参数列表,然后在测试方法中声明对应的形参,形参与参数列表一一对应,但名字可以不同,如下所示:

public class Test1 {

    @Parameters({"Name", "Age", "Hobby"})
    @Test
    public void test1(String name, int age, String hobby) {
        System.out.println(name + " is " + age + " years old and likes " + hobby);
    }
}

然后在XML文件中通过<parameter>标签对每个参数赋值,采用name-value对的形式:

<suite name="suite1">
    <parameter name="Name" value="xiaoming" />
    <parameter name="Age" value="20" />
    <parameter name="Hobby" value="dajiangyou" />

    <test name="test1" verbose="2">
        <classes>
            <class name="sea.Test1" />
          </classes>
    </test>

</suite>

运行结果为:

xiaoming is 20 years old and likes dajiangyou
PASSED: test1("xiaoming", 20, "dajiangyou")

使用默认值

testDemo.java

@Parameters("db")
@Test
public void testNonExistentParameter(@Optional("mysql") String db) { 
     System.out.println("数据库为:"+db);
}

testng.xml

<!-- 无name=“db”的parameter ,testDemo中直接读取默认值“mysql”-->
<suite name="Suite" parallel="false">
  <test name="demo">
    <classes>
      <class name="**.testDemo"/>
    </classes>
  </test> 
</suite>

Parameters一般用于比较简单的参数,对于参数比较多、复杂或者需要从文件读取的时候一般使用DataProvider注解。  

  

  

原文地址:https://www.cnblogs.com/lvchengda/p/13044592.html