在接口测试的过程中, 很多时候会用到对 CSV 的读取操作, 本文主要说明 Python3 对 CSV 的写入和读取.
1. 需求
某 API,GET 方法, token,mobile,email 三个参数
token 为必填项
mobile,email 必填其中 1 项
mobile 为手机号, email 为 email 格式
2. 方案
针对上面的 API, 在做接口测试时, 需要的测试用例动辄会多达 10+, 这个时候采用数据驱动的方式将共性的内容写入配置文件或许会更合适.
这里考虑把 API, 参数, 以及预期结果预行在格式化的 CSV 里保存, 利用 csv 组件从 CSV 里读取 URL, 参数以及预期结果, Requests 组件发起请求, 将响应结果与预期结果进行比对, 最后把比对结果写到结果 CSV.
流程如下图
3. 实现
(1) 在上代码之前, 先安装好如下几个组件:
csv 读写 CSV 文件
json
requests 发起请求, 获取响应结果
unittest 测试用例调度
(2) data.csv(本示例选取部分用例)
(3) reader_CSV 函数代码示例
(4) request_URL 函数示例(包含 GET 请求和 POST 请求 2 个方法)
(5) assert_Result 函数示例
(6) write_CSV 函数示例
(7) test_interface1 函数示例
8result_1523956055.csv(本示例中的测试结果请忽略)
4. 总结
python 封装了很多方法, 对于测试来说开发速度相对较快, 接口自动化测试如果采用 CSV 管理的数据驱动方式, 使用 csv+requests 是测试开发不容错过的利器之一
来源: http://developer.51cto.com/art/201805/573184.htm