基于Python自动化测试框架之接口测试

上一篇阐述了关于web UI相关的内容,这篇谈谈关于接口测试及自动化测试框架。

接口测试是测试系统组件间数据交互的一种方式,通过不同情况下的输入参数和与之对应的输出结果来判断接口是否符合或满足相应的功能性、安全性要求。简单来说,接口测试就是代替前端验证后端是否实现或符合接口规范。

接口测试原理

模拟客户端向服务器发送请求报文,服务器收到请求报文后对相应的报文做处理并向客户端返回应答,客户端接受响应数据后并进行判断。

◆请求:是否正确,默认请求成功是返回200,假如请求错误返回400,405,500等状态码,并根据状态码判断错误类型,如穿参错误或后端、服务器异常。

◆检查:除了要检查返回数据的状态,还要检查返回数据内容的正确性与完整性。

◆安全性:接口一般不会暴露在网上任意调用,需要做一些限制,比如必须登陆或者请求次数、频率限制,对密码等部门内容要做加密处理。

接口测试工具选型

1、现成的接口工具可以做自动化测试

◆Jmeter 、Postman

◆这两种方式为普遍的接口测试工具,但仅适用于测试简单没有上下参数传递的接口,有些协议或流程复杂便不好实现。

2、开源平台做自动化测试

◆Metersphere 、apipost、apifox

◆这些为开源的接口自动化测试平台,Metersphere将接口、性能、功能测试集成在一个平台上,对版本迭代、缺陷管理有很大帮助。

3、基于python写适应的接口自动化代码

◆Pytest

◆接口数量大、特定接口、加密操作、关联操作,触发一些组件

◆httprunner底层是使用pytest执行

对于接口测试所提供的工具选项很多,那我们公司根据三层自动化纬度选择了使用python+pytest展开了开发自动化框架的方式:

1、使用pytest开发自动化框架

◆每步的流程截图+日志

◆高度与项目或者产品业务结合

◆环境初始化或数据清楚,完成定制化实现

2、自动化的后续阶段:公司自研框架–专利

◆测试人员都需要懂代码,成本高,但利于产品底层质量的完善

3、公司自己的测试平台

◆提供可视化的交互性

◆web页面(css js html vue)+后端(java/python–django+flask)

接口测试的测试纬度

接口测试由单个接口的测试开始,保证单个接口测试的正确性和健壮性,然后通过单个接口的测试完成多个接口的业务逻辑串联,再由业务逻辑的角度完成业务逻辑的正确性检测,如图:

图片

接口测试用例方面根据三个阶段来设计,分别是功能、性能及安全,三个阶段由从分别不同点考虑,具体如下:

图片

接口测试框架

以下介绍基于Python+Pytest+Allure+gitlab+jira的测试框架,同样与selenium一样基于PO模式的框架如下图所示:

图片

自动化测试代码结构

图片

框架写好后的代码编写思路:

1、基类封装,将常用方法如发送请求、增删改查封装在基类中;

2、编写业务层的接口代码

3、编写测试用例代码,根据上述的用例分层逐步补充完善用例、并将通用性、不牵扯业务用例放入基类中。

以上为本次对自动化测试之接口测试及框架的概述。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值