HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON
脚本,便可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。python
中文使用文档地址:https://testerhome.com/opensource_projects/httprunner https://cn.httprunner.org/git
YAML/JSON
的形式描述测试场景,保障测试用例描述的统一性和可维护性
1.首先是环境搭建:github
采用pip安装或者直接从github上下载安装 pip install httprunnerjson
安装完成后cmd命令检查 hrun -Vapp
2.咱们用相关命令直接生成对应的项目文件夹。框架
hrun --startproject 文件夹 如HttpRunnerDemo分布式
执行命令后能够看到对应的目录生成了函数
从目录能够看出httprunner采用分层的设计思想,这一部分下一节再研究。工具
3.咱们在testcases中创建一个demo的yml文件,把接口测试资料按必定的规则写入,以下实例,yml需遵循严格的缩进。性能
- config: request: headers: $content base_url: $host url: /commons_service/weather/getWeatherListByLocation?appType=6&requestId=777777 method: POST - test: name: test weather ID1 request: json: body: {"lat":"", "lng":"", "city":"武汉市"} validate: - eq: [status_code,200] - eq: [json.msg,"成功"] - test: name: test weather ID2 request: json: body: { "lat":"123","lng":"125","city":""} validate: - eq: [status_code,200] - eq: [json.msg,"成功"]
config是接口配置部分,test是用例部分,validate是断言部分,用例很是格式化因此清晰。
上面的实例,咱们在config中引入了变量 $host $content等,是由于不少接口的公共部分,咱们能够抽离出来放入debugtalk.py
4.运行用例,用hrun命令,以下:hrun \tests\testcases\test_weather.yml
运行能看到运行结果以及生成测试报告,咱们打开报告查看:
测试信息在报告中都有记录,咱们能够打开log查看详情,咱们能够清晰的看到接口返回和咱们的断言结果。
固然httprunner还支持接口录制(用抓包工具生成.har文件)后转为可执行的用例(用har2case),最重要的是,测试用例和代码的分离。这样使得稍有编码功底的人迅速上手。
下一篇将会学习har2case和测试分层的知识。