接口自动化之读取表格数据
一.引入依赖
maven的pom.xml中引入依赖:
cn.afterturn
easypoi-annotation
4.0.0
test
cn.afterturn
easypoi-base
4.0.0
test
二.代码映射读取表格
添加pojo类,通过映射读取表格数据
pojo.class内容:
1.映射:对应用例表格内容
2.getpojoname:获取表格中的数据
3.setpojoname:如果表格中的数据需要更改,可使用setpojoname将表格数据重新设置
4.重写tostring
Pojo.class案例:
//映射到表格每列
@Excel(name = "columnname")
private String pojoname;
public int getpojoname() {
return pojoname;
}
public void setpojoname(int pojoname) {
this.pojoname = pojoname;
}
//重写toString方法
@Override
public String toString() {
return "FutureloanPojo{" +
"caseid=" + caseid
};
三.表格内容
表格内容:编号,接口模块,用例标题,请求头,请求方式,接口地址,入参,期望返回结果,提取返回数据,数据库校验
键值数据以json方式存取,在代码中读取后需转化为map类型(转化需要引入fastjson依赖)
com.alibaba
fastjson
1.2.75
//请求头为map格式,因此从表格中获取到的json格式请求头需先转化为map格式
Mapheadermap=JSONObject.parseObject(Pojo.getRequestheader());
四.读取文件
1.读取文件指定行
public Listspecialrowexcel(File file,int sheet,int startrow,int readrow){
ImportParams importParams=new ImportParams();
importParams.setStartSheetIndex(sheet-1); //设置开始读取的sheet
importParams.setStartRows(startrow-1); //设置开始读取的行
importParams.setReadRows(readrow-1); //设置读取的行
ListdataList= ExcelImportUtil.importExcel(file,FutureloanPojo.class,importParams);
return dataList;
}
2.读取文件所有行
public Listallrowexcel(File file, int sheet, int startrow){
ImportParams importParams=new ImportParams();
importParams.setStartSheetIndex(sheet-1); //设置开始读取的sheet
importParams.setStartRows(startrow-1); //设置开始读取的行
ListdataList= ExcelImportUtil.importExcel(file,FutureloanPojo.class,importParams);
return dataList;
}
五.数据驱动
接口自动化读取表格后,通过调用读取文件行内容作为数据进行数据驱动,如下:
@DataProvider
public Object[] futurelogin(){
return allrowexcel(new file("caseexcel.xlsx"),2,2).toArray(); //返回读取到的数据
}
@Test(dataProvider = "futurelogin")
public void testcase(Pojo pojo){