接口测试|公开个人写的HTTP接口自动化方案,非常适合小白

前几天给一个朋友的团队做HTTP接口自动化分享,于是翻出了之前写的框架,略微整理下,主要是去掉了老东家用的 slack 告警,email 检查等,并完善了部分 README 内容,现在公开此方案,希望对有些朋友能有所帮助。

另外,大家使用中如果有什么问题和要求,可在此跟帖,或直接在 github 提 Issues,我抽空可能会回复哈。此外还写了个基于 playwright 的 web 自动化测试框架,过些天整理后也可能会公开分享。

API 自动化项目地址: 

https://github.com/wangdaqiao/Http_API_Auto

Python 3 实现Http API自动化 (pytest+requests+ Allure)

主要思路和步骤
  1. 借助 Mitmproxy 来抓取产品使用中的 http api 接口数据

  2. 运行脚本 generate_newcases_from_api_record.py 处理上一步抓取到的接口数据,可生成新 api 的测试数据。

  3. 根据需要设置 api 的测试数据,补充到框架中。如完善 status code, 指定运行环境和优先级,提取参数变量,完善 jsonschema 校验等,通常仅需处理参数提取逻辑。

  4. 执行测试。

实现功能
  • 通过 requests session 会话,一次登录,免除 cookie 关联处理

  • 测试数据驱动,csv 方便版本比较,补充完善用例

  • 自动生成测试用例(含断言),小白也很好用

  • 支持接口间传参

  • 支持多进程,加速测试执行过程

  • 支持多用户

  • 支持多环境切换,仅需改动一处

  • 断言:除了 status code,还支持 json schema 断言

  • 漂亮的 Allure 报告,可查看每个接口的请求和响应数据,以及断言,方便排查

  • Slack 告警(老东家用的,这里已去除)

  • ......

整体结构

用法
  1. 安装 Python 3.7+

  2. 下载代码。

  3. 在当前文件夹中,运行 pip install -r requirement.txt 安装依赖包

  4. 通过“allure2”安装 allure 2.1.38+(https://github.com/allure-framework/allure2)

  5. 参考 “config” 子文件夹中的config_sample.yaml生成config.yaml文件,并进行配置。

  6. 如果是想体验下效果,可先进入 flask demo 目录,执行 python app.py 命令在本地启动一个 http 测试服务端,否则请忽略。

  7. 执行 python3 run_api_cases.py,完成后默认会自动打开测试报告网页。另外,可以在第一个参数中指定运行环境,例如 python3 run_api_cases.py prod

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值