作者:新干果来源:AirPython1。前言原来的测试金字塔由3层组成,分别是:UI自动化测试、接口服务测试、单元测试。最高效的测试接口业务测试分为模块接口测试和协议接口测试。UI测试主要是代替人工操作,通过UI自动化模拟操作,降低回归测试的成本。考虑到投入产出率,大部分企业会把重点放在接口自动化测试上。主流的接口自动化方案包括:python+Pytest/Unittest、Java+TestNG、Postman、HttpRunner、Postman、Jmeter、RobotFramework等。本文将和大家聊聊HttpRunner作为接口自动化的流程2.介绍和安装HttpRunner是一个完全用Python语言编写的测试框架,简单、优雅、功能强大。它同时支持HTTP和HTTPSH。HttpRunner主要包含以下功能:继承Requests库的所有功能,轻松实现HTTP(S)各种测试需求使用YAML和JSON定义测试用例,通过pytest运行基于HAR的文件,实现接口记录和用例生成功能支持variables、extract、validate、hook等关键字,创建复杂的测试场景借助辅助插件debugtalk.py,可以轻松在测试脚本中实现复杂的动态计算逻辑。集成jmespath方便提取变量和验证JSON响应。集成pytest支持大量插件集成allure生成强大的测试报告。集成locust非常方便进行性能测试执行方式采用CLI调用的形式,可以与Jenkins等持续集成工具完美结合。使用pip安装稳定版HttpRunner。安装稳定版的HttpRunner。强烈建议安装V3版本3.常用命令安装好HttpRunner后,可以使用以下命令1.hrunHttpRunner的主要命令是运行Py/YAML/JSON格式的测试用例2.hmake会将YAML/JSON格式的测试用例转换为Python文件ps:HttpRunnerV3将测试用例保存在Python文件中,之前V2将测试用例保存为JSON/YAML格式3、har2casehar2case的作用是将HAR格式的请求文件转换为YAML/JSON/Py格式的测试用例ps:一般的网络请求可以直接以AHR格式保存在本地4.locustsHttpRunner集成了locusts命令,可以用来直接进行性能测试5.其他命令另外可以通过查看帮助httprunner-h命令;使用httprunner-V命令可以查看HttpRunner4的版本信息。一个小测试。下面通过一个简单的界面说说HttpRunner的使用步骤。目标接口-GET:https://postman-echo.com/get?...第一步:抓包,保存为HAR文件,打开Charles或Fiddler,配置Chrome浏览器代理,让Charles抓包从浏览器,使用Chrome访问这个接口地址,模拟一个请求,然后在Charles中找到对应的请求,右键另存为HAR文件第二步:转换为测试用例使用har2case命令将HAR文件转换成一个测试用例。V3版本默认生成测试用例格式为Py文件。查看测试用例后发现,HttpRunner自动生成的测试用例结构非常清晰。第三个修改也很方便。第三步是运行测试用例。使用hrun命令运行测试用例。另外,添加--html参数,在本地生成测试报告生成测试报告hrundemo_test.py--html=report.html打开测试报告,可以查看测试用例的执行结果和日志五、搭建HttpRunner还提供了脚手架,方便我们快速创建一个标准化的项目使用脚手架创建项目httprunnerstartprojectdemo生成的项目目录结果如下:其中1.debugtalk.py一般用于自定义Python函数,方便调用测试用例。例如:某个请求参数需要通过一段加密逻辑生成。这时候可以自定义一个函数,写在debugtalk.py文件中。2.har是从抓包工具、Postman、浏览器网络请求中保存的3、repor需要指出的是,HttpRunner除了可以使用内置的pytest-html插件生成测试报告外,还可以通过allure生成更强大的测试报告4.testcases用于放置测试用例,可以直接使用hrun命令Scaffoldingprojectrunningscaffoldingprojecthrun项目名称hrundemo6。最后,限于篇幅,以上只介绍了HttpRunner最基本的使用方法
