我是靠谱客的博主 俭朴发卡,最近开发中收集的这篇文章主要介绍Python接口自动化测试框架对比1、Python+HttpRunner2、Python+UnitTest+Requests+HTMLTestRunner3、Python+PyTest+Requests+Allure4、Python+Gauge5、总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击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、总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部