TestNG 参数化应用

一、第一种参数化方式(testng.xml配置参数)

1.新建ParameterDemo04类

2.拷贝类的路径

 3.testng.xml配置类地址及参数

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="false">
  <test name="Test">
    <classes>
      <!-- 粘贴拷贝的ParameterDemo04类路径 -->
      <class name="cn.xiaobing.testng.ParameterDemo04"/>
    </classes>
    <!-- 配置参数 -->
    <parameter name="browserType" value="chrome"></parameter>
  </test> <!-- Test -->
</suite> <!-- Suite -->

4.@Parameters(value= {"browserType"})//变量名字与xml配置name保持一致

package cn.xiaobing.testng;

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class ParameterDemo04 {
    @Test
    @Parameters(value= {"browserType"})//变量名字与xml配置name保持一致
    public void test(String bt) {
        System.out.println("目前测试使用的浏览器为:"+bt);
    }
}

5.运行(踩坑)

报错原因:因为testng.xml中配置参数,要获取到browserType参数,必须运行testng.xml

6.运行 testng.xml 右键

二、第二种参数化方式(@DataProvider数据提供者注入)

1.新建testNG class

package cn.xiaobing.testng;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

/**testng 参数化
     *   通过在dataProvider注入了五组测试数据
 * @author Administrator
 *
 */
public class DataProviderDemo05 {
  @Test(dataProvider = "datas")
  public void userLogin(String username, String password) {
      System.out.println(username+":"+password);
  }

  /**提供了五组测试数据
 * @return
 */
@DataProvider(name="datas")
  public Object[][] datas() {
     
    Object[][] datas =    new Object[][] {
            { "唐僧", "123" },
            { "孙悟空", "456" },
            { "猪八戒", "789" },
            { "沙僧", "110" },
            { "白龙马", "120" }
    };
    return datas;
  }
}

学习总结,不足之处后续修正补充!

原文地址:https://www.cnblogs.com/xiaozhaoboke/p/11025994.html