在接口测试的过程中,很多时候会用到对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是测试开发不容错过的利器之一