接口自动化选型
接口自动化的技术选型:Python+Requests+Pytest+Allure ,通过 Python+Requests 来发送和处理HTTP协议的请求接口,使用 Pytest 作为测试执行器,使用 Allure 来生成测试报告。
整个框架拆分成请求方法封装、HTTP/HTTPS接口封装、Python接口、业务关键字封装、测试用例、测试数据、断言、工具类、测试报告、Jenkins持续集成等模块。
首先利用Python把HTTP接口封装成Python接口,接着把这些Python接口组装成一个个的关键字,再把关键字组装成测试用例,然后再通过Pytest测试执行器来运行这些脚本,并结合Allure输出测试报告。再对接口自动化进行Jenkins持续集成。
框架图
(1)Request介绍
Request库是用来发送HTTP/HTTPS请求,接收HTTP/HTTPS响应的一个Python库,经常被用来做网络服务系统的Web API 接口测试,因为Web API接口的消息基本上都是通过HTTP/HTTPS协议传输的。
Python中构建HTTP/HTTPS请求的库有很多,其中Requests库最为广泛使用,因为它使用简便,功能强大。Request库不属于Python的标准库,属于第三方库。
详细使用文档可以参考官方文档:https://requests.readthedocs.io/zh_CN/latest/
(2)Pytest介绍
Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。
Pytest的特性有:
- 支持用简单的assert语句实现丰富的断言,无需复杂的self.assert*函数
- 自动识别测试模块和测试函数
- 模块化夹具用以管理各类测试资源
- 对 unittest 完全兼容,对 node基本兼容
- 支持Python3和PyPy3
- 丰富的插件生态,已有300多个各式各样的插件,社区繁荣
详细使用文档可以参考官方文档:https://docs.pytest.org/en/latest/contents.html
Pytest与Unittest 功能对比
(3)Allure
Allure框架是一个灵活的轻量级多语言测试报告工具,它不仅以web的方式展示了简介的测试结果,而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息
从dev/qa的角度来看,Allure报告简化了常见缺陷的统计:失败的测试可以分为bug和被中断的测试,还可以配置日志、步骤、fixture、附件、计时、执行历史以及与TMS和BUG管理系统集成,所以,通过以上配置,所有负责的开发人员和测试人员可以尽可能的掌握测试信息。
从管理者的角度来看,Allure提供了一个清晰的“大图”,其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情。allure的模块化和可扩展性保证了您总是能够对某些东西进行微调,使Allure更适合您,那么今天我们就来说说如何使报告更加详细的显示我们需要的信息,以及allure与jenkins的集成。
详细的使用文档可以参考官方文档:https://docs.qameta.io/allure/#_flaky_tests
(4)Jenkins持续集成
1.接口自动化脚本可以放在CICD整个流程的step7执行。
2.接口自动化脚本也可以放在RTP申请,创建CMDB工单,运维部署之后,测试用来regression验证测试。
本文作者:winkie
本文链接:https://www.cnblogs.com/zz-winkie/p/16528976.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步