Java 接口自动化系列--工具类之Excel测试数据解析封装

在进行数据解析时,先来看看excel测试数据格式,这里采用接口和测试数据分离的方式,即分为两个sheet页签分别存放接口信息,用例信息

 

  

 excel封装成对象步骤

1、导入easypoi的坐标
2、加载excel的流对象
3、导入参数对象ImportParams
4、工具ExcelImportUtil解析excel封装成List对象
5、添加java类API、Case和 excel中列的映射关系(@Excel)

具体来看下ExcelUtils这个类下面有哪几个方法:

1、read方法: 读取excel两个页签数据并封装成对象,返回值是List集合

clazz,对应的就是获取实体包entity 中API

params.setNeedVerify(true);  需要添加依赖, 验证, 该方法与实体类中的注解一起使用@NotNull,只要有一列数据为空的,则不读取数据,即跳过有空的数据   不建议每个参数都加  

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>

<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.4</version>
</dependency>

 运行一下这个read方法 ,就可以读取出 excel  中接口信息页签的内容了

 不明白的可以看下importExcel方法, easypoi使用教程: http://easypoi.mydoc.io/

 

2、getAPIandCaseByApiId方法, 从已经读取好的所有List<API>和所有List<Case>两个集合中获取符合条件的数据

 执行后,可以看到打印的数据,是取出了所有的测试用例数据

 3、batchWrite方法,批量回写数据到excel 测试用例中,比如执行的结果

批量回写excel
1、执行call()获取回写body,同时获取到caseId以及固定列号,封装成一个wbd对象。
2、把wbd对象存储到List集合,方便一次性回写。
3、执行@AfterSuite方法时批量回写,遍历回写集合获取所有需要回写的行号、列号、数据。
rowNum,cellNum,content -->创建类

 

 

 4、close方法,流关闭

在批量回写数据到excel中时,为了方便,单独把关闭流的代码抽取出来封装成一个方法

原文地址:https://www.cnblogs.com/wanshuang/p/12513472.html