Java接口自动化测试框架系列(二)表格设计与数据读取
2022/9/2 1:23:15
本文主要是介绍Java接口自动化测试框架系列(二)表格设计与数据读取,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、测试系统分析
不同系统有不同的接口,通过分析这些接口,提取共同点可以得到不同地区的系统共有的接口。
如:登录、登出、用户信息完善等接口
二、表格设计
- 不同列定义不同的参数
- 不同行定义不同的地区
- 由于不同地区的接口加密方式不同,所以直接在表格中规定接口的地区、接口地址、验签方式(encryption_type)、密钥等字段。
三、表格解析
解析方法package com.Auto_Test.utils; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; public class ReadCSV { public Workbook workbook; public Sheet sheet; public Cell cell; int rows; int columns; public String fileName; public String caseName; public ArrayList<String> arrkey = new ArrayList<>(); String sourceFile; /** * @param fileName excel文件名 * @param caseName sheet名 */ public ReadCSV(String fileName, String caseName) { super(); this.fileName = fileName; this.caseName = caseName; } /** * 获得excel表中的数据 */ public Object[][] getExcelData() throws BiffException, IOException { workbook = Workbook.getWorkbook(new File(getPath())); sheet = workbook.getSheet(caseName); rows = sheet.getRows(); columns = sheet.getColumns(); // 为了返回值是Object[][],定义一个多行单列的二维数组 HashMap<String, String>[][] arrmap = new HashMap[rows - 1][1]; // 对数组中所有元素hashmap进行初始化 if (rows > 1) { for (int i = 0; i < rows - 1; i++) { arrmap[i][0] = new HashMap<>(); } } else { System.out.println("excel中没有数据"); } // 获得首行的列名,作为hashmap的key值 for (int c = 0; c < columns; c++) { String cellvalue = sheet.getCell(c, 0).getContents(); arrkey.add(cellvalue); } // 遍历所有的单元格的值添加到hashmap中 for (int r = 1; r < rows; r++) { for (int c = 0; c < columns; c++) { String cellvalue = sheet.getCell(c, r).getContents(); arrmap[r - 1][0].put(arrkey.get(c), cellvalue); } } return arrmap; } /** * 获得excel文件的路径 * @return * @throws IOException */ public String getPath() throws IOException { File directory = new File("."); sourceFile = directory.getCanonicalPath() + "\\src\\" + fileName + ".xls"; return sourceFile; } }
这篇关于Java接口自动化测试框架系列(二)表格设计与数据读取的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解