在進行數據解析時,先來看看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中時,為了方便,單獨把關閉流的代碼抽取出來封裝成一個方法