自动化数据驱动|Easy POI读取接口测试用例的excel

在做的接口自动化测试中,把测试用例维护在excel表格中,通过Easy POI把用例中的行转成实体类对象,再通过testNG的@DataProvider注解把测试用例数据传递给测试方法执行用例。

一、pom引入



    cn.afterturn
    easypoi-annotation
    4.2.0



    cn.afterturn
    easypoi-base
    4.2.0

二、实体类设计

2.1 用例表格示例

2.2 实体类设计

easy poi: 通过@Excel属性能够和excel的表头映射上去

⚠️值的注意:实体类中需要有空参构造

只写了有参构造不写空参构造报错:Caused by: java.lang.RuntimeException: 创建对象异常

因为在读取excel数据的时候要利用空参构造创建对象

所以平时使用时要么不写任何构造,要么写空参+有参

public class CaseInfo {
    //easy poi: 通过@Excel属性能够和excel的表头映射上去
    
    @Excel(name = "序号(caseId)")
    private int caseId;

    @Excel(name = "接口模块(interface)")
    private String interfaceName;

    @Excel(name = "用例标题(title)")
    private String title;

    @Excel(name = "请求头(requestHeader)")
    private String requestHeader;

    //空参 有参构造方法
    //getter setter
    //......
}

三、读取excel数据

/**
     * 读取Excel指定sheet里面的全部数据
     * @param sheetNumber 读取第几个sheet,从0开始,表示我们常说的第1个
     * @return list集合
*/

    public static List readExcelSheetAllDatas(int sheetNumber){
        //读取用例文件
        File file = new File(XXX);
        //读取/导入excel的一些参数设置
        ImportParams importParams = new ImportParams();
        //设置读取第几个sheet
        importParams.setStartSheetIndex(sheetNumber);
        //读取Excel里面的数据(Easy Poi)
        List listDatas = ExcelImportUtil.importExcel(file, CaseInfo.class, importParams);
        return listDatas;
    }

3.1 常用的读取设置

ImportParams —— 导入excel的一些参数设置,读取第几个sheet,第几行...下面常用参数
  • setStartSheetIndex 从第几个sheet开始读,只这一个参数,默认读取当前设置的一个sheet
  • setStartRows  从第几行开始读取
  • setReadRows  读取多少行
  • setSheetNum 读取多个sheet用到
 ExcelImportUtil.importExcel (file, 实体类.class, importParams)

—— 读取Excel里面的数据(Easy Poi),返回实体类对象的List集合




     

你可能感兴趣的:(自动化,测试用例,excel)