概述
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net
1、Python+HttpRunner
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
1.1、主要特征
l 继承Requests的所有强大功能。
l 以YAML或JSON格式定义测试用例,并使用PyTest以简洁优雅的方式运行。
l 可通过HAR录制并生成测试用例。
l 支持variables/extract/validate/hooks机制,以创建非常复杂的测试场景。
l 使用debugtalk.py插件,任何功能都可以在测试用例的任何部分使用。
l 使用jmespath,提取和验证json响应从未如此简单。
l 有了PyTest,数百个插件随时可用。
l 使用Allure,测试报告可以非常强大。
l 通过重用Locust,可以进行性能测试,而无需进行额外的工作。
l 支持CLI命令,与CI/CD完美结合。
1.2、优点
l 基于YAML/JSON格式,专注于接口本身的编写
l 接口编写简单
l 能生成测试报告
l 有接口录制功能
l 自带脚手架
1.3、缺点
l 没有编辑器插件对语法校验,容易出错
HttpRunner 没有编辑器插件,本身就是一个YAML/JSON配置文件,所以配置写错了,但只要是合法的YAML/JSON格式,也看不出来,只有运行过后才知道。
l 扩展不方便,需要用Python实现一些函数
1.4、小结
可以考虑使用,对于接口数据的初始化可能需要单独处理。
建议:
适用于团队代码基础有限,想快铺量自动化的情况。
不适用于有精细化需求的团队。当然,如果愿意花时间来自己定制也是可以满足需求的。
2、Python+UnitTest+Requests+HTMLTestRunner
2.1、主要特征
利用现有的框架和库自己定制。
2.2、优点
l 足够灵活强大: 分层测试、数据驱动、测试报告、集成CI等
l 对于公司的业务支持比较高,可以根据业务的灵活度来定制化开发接口框架
2.3、缺点
l 有一定的学习成本
2.4、小结
如果代码能力可以,推荐使用,代码相对简单,功能足够灵活。
3、Python+PyTest+Requests+Allure
3.1、主要特征
l PyTest是基于UnitTest的扩展框架,比UnitTest更简洁,更高效
l PyTest兼容UnitTest框架的代码,可以用来运行UnitTest测试用例
3.2、优点
l 足够灵活强大: 分层测试、数据驱动、测试报告、集成CI等
l 对于公司的业务支持比较高,可以根据业务的灵活度来定制化开发接口框架
3.3、缺点
l 有一定的学习成本
3.4、小结
如果代码能力可以,推荐使用,代码相对简单,功能足够灵活。
表 1 UnitTest与PyTest比较
用例格式 | 兼容性 | 插件 | |
UnitTest | 复杂 | 无 | 少 |
PyTest | 简单 | 兼容UnitTest | 丰富 |
4、Python+Gauge
4.1、主要特征
BDD行为驱动测试框架
4.2、优点
l 行为文件与脚本文件分离,本质上实现了数据驱动
l 功能强大灵活,本质上还是用Python写接口用例
l 自动生成测试报告
l IDE如VS Code有支持插件
4.3、缺点
l 门槛略高,需要了解BDD的用法
l 需要会Markdown语法
4.4、小结
BDD有一定的门槛,看测试人员的学习能力和接受速度,推荐使用。
虽然用BDD拿来做接口测试理念不搭,但并不是不可以,唯一的缺点是用BDD来描述接口行为不合适,其他的都可以。可以参数化,断言写起来也简单,测试报告也漂亮,本质上还是用Python实现一些功能,所以非常灵活。
5、总结
表 2 框架对比
框架 | 学习成本 | 录制 | 测试报告 | 用例管理 | 扩展难度 |
HttpRunner | 低 | 是 | 是 | 易 | 高 |
UnitTest | 高 | 否 | 是 | 难 | 高 |
PyTest | 高 | 否 | 是 | 难 | 高 |
Gauge | 高 | 否 | 是 | 易 | 中 |
最后
以上就是俭朴发卡为你收集整理的Python接口自动化测试框架对比1、Python+HttpRunner2、Python+UnitTest+Requests+HTMLTestRunner3、Python+PyTest+Requests+Allure4、Python+Gauge5、总结的全部内容,希望文章能够帮你解决Python接口自动化测试框架对比1、Python+HttpRunner2、Python+UnitTest+Requests+HTMLTestRunner3、Python+PyTest+Requests+Allure4、Python+Gauge5、总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复