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; } }
学习总结,不足之处后续修正补充!