项目背景
- 同事支持多个业务线的项目,需要通用性
- 业务增长,人员增长,需要项目快速迭代
- 需要能够进行回归测试,性能测试,持续集成,线上监控,测试数据等需求
- 指定目标: 测试用例数,执行频率,运行成功率
工具的介绍
- 面向HTTP(S)的通用测试框架
- 只需要维护一份YAML/JSON脚本,既可以实现自动化测试,性能测试,线上监控,持续集成等多种测试需求
- 接口测试解决方案
工具设计理念
- 充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组装成战车
- 遵循约定大于配置的准则,在框架功能中融入自动化测试最佳实践
- 一站式接口测试框架,一份投入实现多个测试需求
工具的借助行业标准
- 使用抓包录制,生成测试用例
- 抓包后的请求转换成HAR format
- 使用JSON Schema标准进行脚本格式定义,符合标准检验
- 借鉴Requests的框架应用
整合工具链
- 首先使用抓包工具Fiddler 或者 Charles进行抓包导出成HAR格式
- 使用har2case的第三方库将har格式的内容转换成YAML/JSON格式
HttpRunner基本使用方法
- 将生成的YAML/JSON进行CICD集成,这样可以实现jenkins集成
- Locust底层也是调用的request库,这样将单个脚本进行多用户执行,就可以实现性能测试
- 通过自动化测试,生成测试数据,用来作为数据准备
高度的可扩展性
- 直接使用HttpRunner构建自动化脚本,并开展测试工作
- 如果有代码管理的要求,可以集成到GitHub中间,进行版本及代码的托管
- 进行分布式的执行需求
HttpRunner代码样式
- 使用JSON/YAML格式进行描述
- 使用Json Schemas进行脚本校验,看是否符合标准
HttpRunner的使用场景
- 基于接口测试平台
- 自动化测试工具
- 性能测试工具
网友评论