Httprunner是一款简单优雅的http(s)的接口测试框架。

在当前测试行业,接口测试已经是必备技能了,而python也是广大测试同行们深爱的语言之一。httprunner这个工具就兼有了接口录制/导出,多种case编写格式(json/yml/pytest),入门门槛低,灵活且生态完整。

httprunner更专注于http(s)接口层面的测试;python最长寿的unittest框架,则可以作为单元测试自动,http(s)/tcp层的接口或者功能集成自动化。

介于httprunner的名气越来越大,如果你要跳槽找工作,大部分互联网公司问到接口测试时,都或多或少会提及到httprunner。

httprunner有以下的设计哲学:

  • 惯例优先原则(convention over configuration)

     惯例优先原则源于Spring中的一个设计理念,简单来说,就是框架给一套规范,这套规范可以帮助你尽量精简配置文件,只要按照该规范去写代码,可以减少很多项目配置,而且代码和配置的这种关系非常简洁。

  • 关注投资回报率(ROI matters)

   注投资回报率是一个框架的最核心kpi,比如httprunner作为一个新的框架,对比其他框架,有什么优点?这些优点是否可以覆盖我们适应httprunner的成本(简单来说,学习一个新东西,带来的性价比到底如何),在这一点上,httprunner力求给使用者最大的roi。

    拥抱开源应该是当今软件行业的一个趋势,随着github上的开源工程越来越多(甚至有些过剩),很多大牛都已经为我们创造出来好用的软件工具了,作为后来者,应该是抱着更好地整合开源软件的思想去做新的软件工具(而不是重复造轮子)

httprunner(3.x)都有哪些核心功能呢?

  • 集成了requests库强大功能,在处理https请求上更加优雅人性化(这意味着httprunner(3.x)工具本身的性能和稳定性会更高)
  • 提供了yaml,json的case编写格式,并以pytest方式,更编译和优雅的运行(比较方便的编辑转换后python语言的测试case)
  • 利用har的优势,方便的录制和导出并生成测试case
  • 提供了一些列的机制支持一些复杂的测试场景
  • 通过debugtalk.py插件支持自定义函数的编写
  • 通过jmespath,方便对返回的json进行校验
  • 通过pytest的强大插件生态补充了httprunner的功能
  • 通过allure,让测试报告更加美观,可读性更强
  • 通过和locust的结合,很方便利用httprunner进行接口的性能测试
  • httprunner以命令行方式运行,也更方便接入CI/CD

以上就是httprunner3.x的简单介绍,顺便说一句,httprunner3.x对httprunner2的case不兼容,如果你原来用的是httprunner2.x,那么测试case需要修改去适配下httprunner3.x的case语法。

备注:以上内容部分源于httprunner3.x的官网文档翻译。


博主:测试生财

座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务自由。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374