接口测试流程
1、需求分析
2、测试计划与方案
3、分析api⽂档(明确请求、响应数据;参数规则【类型、必填、长度】;分析接口之间的依赖关系)
4、编写用例
5、搭建环境(项目环境、测试环境)
6、编写脚本
7、执行脚本
8、缺陷管理
9、测试报告
接口测试点分析 – 投资业务场景
1. 注册(4+11+20=35条)
2. 登录(5条)
3. 开通托管账户(11条)
4. 充值(14条)
5. 投资产品列表
6. 投资产品详情
7. 投资(20条)
8. 我的投资列表
接口测试点:注册、登录、开通托管账户、充值、投资
web接口测试/投资业务-测试点提取.xmind · 木子李/P2P金融web测试项目 – 码云 – 开源中国 (gitee.com)
接口测试用例:注册、登录、开通托管账户、充值、投资
web接口测试/2. 接口测试用例 – P2P.xlsx · 木子李/P2P金融web测试项目 – 码云 – 开源中国 (gitee.com)
使用 jmeter 编写脚本
正则表达式编写技巧:察看结果树 → RegExp Tester → 点击结果 → 选取片段,挖空(.*?)替代 → 点击Test,查看结果
上面结果没问题,就可以写在正则表达式提取器里了。
下面接口的参数,依赖上面接口的响应数据。
总结
连接数据库,清除测试数据
在执行前,需要先清除数据库的已有数据。
用set up线程组,执行JDBC Request
注意事项:
1、选Update Statement 或者 Callable Statement
2、所有sql语句要带分号结尾
顺序执行线程组
想要线程组按顺序执行,需要勾选这个。
Jenkins 持续集成
通过⼀款⼯具(jenkins)持续⾃动集成代码。Jenkins是一款常用的CI【持续集成】工具
运⾏脚本的命令:jmeter -n -t 脚本.jmx -l 结果.txt -e -o ⽬录
持续集成所依赖的环境
1、jenkins环境:jdk、jenkin.war
2、运⾏脚本本环境:newman 、jmeter、jkd、python、pytest
持续集成运行脚本的⽅式有哪些?脚本在哪⾥放?
1、项⽬托管平台(github、gitree、gitlabe)
2、jenkins服务器(将脚本从托管平台下载到jenkins服务器本地,调⽤命令去执⾏)
脚本管理
把 脚本.jmx 上传到托管平台 gitee
在Jenkins创建项目,填写配置
测试报告配置
配置完,应用,保存。
保存后,点击 Build Now,自动执行项目。点击工作区查看运行结果。
Python 代码实现接口测试
代码接口自动化怎么实现?
答:用 python + requests + unittest
追问,具体描述:封装api、调用api、数据驱动、日志、报告
再详细点:api、scripts、data、log、report、utils、。。。
日志:info级别记录查询运行轨迹,error级别记录错误。
数据驱动 — 参数化
在编写数据时,可以参照使用下面的形式编写,每一组代表一个接口测试点
编写读取方法,参数key是上面的键,如”img_code”、”phone_code”。。。
在做参数化,对应接口就传递对应key的数据。
接口请求中,不同的Conyent-Type如何传参?
参考:Pycharm — requests – 鹿先森JIAN – 博客园 (cnblogs.com)
application/x-www-form-urlencoded:在python中,使用data传参
multipart/form-data:在python中,使用data + files传参,files={“x”: “y”}照写就行。网上有其它不一样的用法,各异!