多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

接口自动化测试工具HttpRunner的介绍

更新时间:2021-09-09 06:27:31 作者:admin 浏览:572

接口自动化测试工具HttpRunner的介绍

  HttpRunner是一个简单优雅但功能强大的 HTTP(S) 测试框架。以YAML或JSON格式定义测试用例,保障测试用例描述的统一性和可维护性。程序执行的时候,会处理用户输入的yml/json文件并基于模板生成测试文件。最终通过pytest.main([])的方式去执行生成的用例文件。用户只需要通过json/yml文件去维护用例即可,不需要关心程序如何处理json/yml文件,如何生成测试文件等,简单快速通过pytest运行用例,并获取详细的测试报告。

接口自动化测试工具HttpRunner的介绍

  主要特征:

  以YAML或JSON格式定义测试用例,保障测试用例描述的统一性和可维护性

  testsuite > testcase > teststep(api)

  支持设计一系列的测试场景,每个测试场景可包含多个teststep。

  支持参数化设计

  支持variables/ extract/ validate/hooks机制(使用jmespath ,提取和验证json响应)

  支持添加逻辑运算辅助函数(debugtalk.py),在测试脚本中实现复杂的动态逻辑

  在HAR 支持下记录并生成测试用例。(使用charles去抓取请求,生成的用例文件可能还需要手动处理)

  使用pytest执行测试文件 ,数百个插件随时可用。使用allure ,测试报告可以非常强大。

  run_testcase():处理请求前的数据

  __run_step() > __run_step_request(使用requests发起api请求并导出其他用例引用的变量(__step_datas))

  通过重复使用locust ,您可以进行性能测试,而无需进行额外的工作。

  支持CLI命令,与CI/CD完美结合。

  工作流程

  想要了解其工作流程,最好的办法就是使用debug模式,那在这里应该如何使用debug来参透httprunner的执行流程呢?跟着我来看下:

  调试技巧

  使用pycharm进行调试,且python环境使用Virtualenv进行管理

  安装:pip install httprunner

  在/venv/bin/ 目录下找到hrun文件

  编辑hrun文件,为sys.argv赋值。第一个是hrun的绝对路径,第二个是用例的绝对路径

  在sys.exit(main_hrun_alias())这里打个断点,那么就可以开始愉快的调试之旅了~

  # -*- coding: utf-8 -*-import reimport sysfrom httprunner.cli import main_hrun_aliasif __name__ == '__main__': sys.argv = ['/Users/boyizhang/PycharmProjects/apitest/venv/bin/hrun', '/Users/boyizhang/PycharmProjects/apitest/hruntests/testcases/testheader.yml']

  sys.argv[0] = re.sub(r'(-script.pyw|.exe)?$', '', sys.argv[0]) sys.exit(main_hrun_alias())

接口自动化测试工具HttpRunner的介绍

  工作流

  调试日志:

  进入main_hrun_alias()中,并为sys.argv的列表插入新的一项“run”(因为我们是执行用例)。

  进入main(),因为我们含有“run”,所以现在开始执行用例。

  进入main_run(extra_args),根据extra_args(yml/json路径)将yml/json文件生成python文件(测试文件)。

  进入main_make(),判断路径是否存在。

  进入 __make() ,加载yml/json文件,并准备数据(按照数据的优先级进行复制,从低到高)。

  进入make_testcase(),将yml/json文件基于模板生成对应的py文件。

  最后回到main_run()方法,继续执行main_make()以下的代码,可以发现,程序最终将创建的py文件交给pytest.main()来执行。

  以上是关于接口自动化测试工具HttpRunner的介绍,由多测师亲自撰写,全网独家提供!  http://www.aichudan.com/

联系电话

17727591462

返回顶部