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