Record life and |

winkie

园龄:4年10个月粉丝:9关注:10

接口自动化选型

接口自动化的技术选型: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 功能对比

pytest和unitest对比

(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持续集成

jenkins持续集成

1.接口自动化脚本可以放在CICD整个流程的step7执行。

2.接口自动化脚本也可以放在RTP申请,创建CMDB工单,运维部署之后,测试用来regression验证测试。

本文作者:winkie

本文链接:https://www.cnblogs.com/zz-winkie/p/16528976.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   winkie  阅读(233)  评论(2编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起