接口自动化之读取表格数据


一.引入依赖

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格式
Map headermap=JSONObject.parseObject(Pojo.getRequestheader());

四.读取文件

1.读取文件指定行

public List specialrowexcel(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); //设置读取的行
List dataList= ExcelImportUtil.importExcel(file,FutureloanPojo.class,importParams);
return dataList;
}

2.读取文件所有行

public List allrowexcel(File file, int sheet, int startrow){
ImportParams importParams=new ImportParams();
importParams.setStartSheetIndex(sheet-1); //设置开始读取的sheet
importParams.setStartRows(startrow-1); //设置开始读取的行
List dataList= 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){