发布: 更新时间:2022-10-19 23:00:52
Parameters一般用于比较简单的参数,只能一个参数一个值,不能多值或集合。
1.在testng.xml文件中定义参数列表
2.Parameters注解在测试方法上指定参数列表,然后在测试方法中声明对应的形参,形参与参数列表一一对应
使用testng.xml执行,结果如下:
DataProvider适用于复杂的多组数据的情况。@DataProvider
注解的函数返回的必须是Object[][]
使用testng.xml执行,结果如下:
思路就是:
1.读取数据源文件,可以是EXCEL,XML,YAML,甚至可以是TXT文本。
2.使用@DataProvider组装数据,做数据驱动。
这里主要介绍几种读取文件做数据驱动方式。
用DOM4J解析XML,ParserXml.java文件
先发布文章吧。DOM4j的xml语法等我先看看。^ ^!
user.csv文件内容:
使用BufferedReader读取文件,这种对于csv、excel、txt这种简单格式的文件都很好用
package com.util.tools;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.ArrayList;
public class util_readfile {
public static void main(String[] args) throws IOException {
// 测试读取文件方法
Object[][] s=getTestData("user.csv");
for(Object[] x:s) {
System.out.println("姓名:"+x[0]+",电话:"+x[1]+",地址:"+x[2]);
}
}
public static Object[][] getTestData(String filePath) throws IOException {
ArrayList<Object[]> records = new ArrayList<Object[]>();
String record;
// 设定UTF-8字符编码集,使用带缓冲区的字符输入流BufferedReader 读取文件内容;
BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "UTF-8"));
// 忽略读取CSV文件的标题行(第一行!);
file.readLine();
/*
* 遍历读取CSV文件中除第一行外其他所有内容,并存在在名为records的ArrayList中
* 每一个records中存储的对象为一个String数组;
*/
while ((record = file.readLine()) != null) {
String fields[] = record.split(",");
records.add(fields);
}
// 关闭文件对象;
file.close();
// 第一函数返回值,即Object[][]
// 将存储测试数据的list 转换为一个Objectde 的二维数组;
Object[][] results = new Object[records.size()][];
for (int i = 0; i < records.size(); i++) {
results[i] = records.get(i);
}
return results;
}
}
测试读取结果:
原神3.8心海武器推荐 原神3.8心海带什么武器
阴阳师寻迹骰怎么获得 阴阳师寻迹骰获得方法
王者荣耀妄想都市观光怎么获得 王者荣耀妄想都市观光活动
阴阳师新召唤屋和幕间皮肤效果怎么样 阴阳师新召唤屋和幕间皮肤获取方法介绍
羊了个羊7.26攻略 羊了个羊7月26日怎么过
崩坏星穹铁道求不得成就攻略介绍 崩坏星穹铁道求不得成就怎么获得
崩坏星穹铁道去吧阿刃成就攻略介绍 崩坏星穹铁道去吧阿刃成就怎么获得
时空中的绘旅人罗夏生日有什么复刻 绘旅人罗夏生日礼包复刻一览
银河境界线武器强度怎么看 银河境界线武器强度排行攻略
阴阳师红蛋蛋限时福利怎么获得 阴阳师再结前缘版本福利介绍