个人微信
Hi all:
各位老铁,好久不见,最近太忙一直没顾上更新,今天更新一个比较完善的接口自动化框架,git代码地址在最下方。
支持的python版本:3.7.0
安装方法:
1、安装对应库(建议使用虚拟环境,如果使用默认环境可能会导致需要的库版本不一致问题)
进入安装好的项目根目录,输入: pip install -r requirements.txt
可执行文件:
是/RUN/run_case_ddt文件,因为是unittest框架,所以要执行整个文件,使用 python run_case_ddt 即可。
case管理:
目前是通过excle管理的
文件路径:/case/case.xlsx文件
目前框架支持的功能:
1、get、post测试
2、上传文件接口测试
3、response和responseTime反写
4、邮件发送功能
配置文件:
配置文件路径:/config中
序号 | 文件名 | 作用 |
---|---|---|
1 | Cookie.json | 配置cookie用的 |
2 | header.json | 配置header用的 |
3 | server.ini | 配置url路径前面的默认的 |
报告:
文件执行完成后,会生成两个报告:
报告发送逻辑:
目前是如果result列中有反写的fail字段 则触发发送邮件逻辑
报告路径在:
/report目录下:
1、excel报告(文件名叫api_result.exle)
2、html报告(report.html)
报告模板:
Case的管理方法:
一行为一条接口用例,用例字段定义及作用如下:
序号 | 字段名 | 作用 | 备注 |
---|---|---|---|
1 | case编号 | 对接口的命名,要有一定的命名规则,这比如Test_1个用户入群_01 | 自定义编写,但是这个这个命名涉及到了后续接口依赖的使用。 |
2 | 作用 | 描述这个接口case的作用和目的 | 自定义编写 |
3 | 是否执行 | 选项包含yes 或者 no 填写no会不执行当前case | |
4 | 前置条件 | 使用方法:case编号>字段路径,举例: test_api_01>data.code,这样就会取出test_api_01的response里的data.code的值,支持取多个值 | 这个是为了解决接口依赖的 |
5 | 依赖key | 这个是和前置条件配套使用的,是把前置条件取出的值,替换到自己的reuqest参数中,直接写key名称就可以,支持替换多个值 | |
6 | url | 填写你要请求的url地址。 这里有个逻辑: 在base/base_reqest类中,有默认配置项,如果填写的url中不包含http,则用配置项的url+填写的路径 | |
7 | method | 暂时只支持get和post,如有需要后续可扩展put和delete | |
8 | data | 要传的参数。不论是get或者post请求方式,data都填写json格式 | |
9 | Cookie操作 | 有2个参数,write和yes,如果为write,则会把当前请求的cookie取出写到配置文件,如果选yes,则会读取配置文件到cookie | |
10 | Header操作 | 有2个参数,replace和yes,如果为yes,则会读取配置文件的header,如果为replace则会取出header替换到配置文件 | |
11 | 预期结果方式 | 预期结果有3个方式: 1、errcode(业务状态码,如果和返回的业务状态码一直就代表通过) 2、cin(填写返回信息中包含的值,如果包含就代表同多) 3、json(有点麻烦,不建议用) | |
12 | 预期结果 | 根据预期结果方式的选择来填写 | |
13 | result | 这个是看预期结果成功还是失败,是反写回来的,不需要填写 | |
14 | 返回数据 | 这个不填写,是反写回接口返回的responseBody内容 | |
times | files | 这个是测试上传文件接口的,要用字典格式,key值名称要和接口传的key名称一致,如: {"document":"C:\\pic\\test.pptx"} | |
备注 | 自己写备注的一些事项 |
Git下载地址:https://gitee.com/cyanan/InterfaceTestDemo.git