接口自动化测试基础02-思维梳理及Requests库应用

一、接口自动化逻辑思维梳理

具体来说,包括以下几点:

  • 减轻自己工作量,把测试从枯燥的重复劳动的人工测试中解放出来;
  • 协助手工测试完成很难模拟或无法模拟的的工作;
  • 提高工作效率,比如测试环境的自动化编译、打包、部署、持续集成甚至持续交付等;
  • 协助定位问题,比如接口层发现问题了,可以通过添加的 traceID 定位到日志错误或错误代码行;
  • 尽早发现 Bug,自动通知测试人员。一旦发现问题,立即通知测试人员,快速高效。

事情准备的主要两个核心:

1. 文档的准备

1)《需求文档》明确定义了:接口背后的业务场景,该接口是干什么用的,用到哪里,每次调用会发生什么等;

2)《接口文档》明确定义了:接口名,各个入参值,各个返回值,和其他相关信息;

3)《UI 交互图》明确定义了:各单页面需展示的数据;页面之间的交互等;

4)《数据表设计文档》,明确定义了:表字段规则、表 N 多 N 关系(一对一、一对多、多对多)等;

2. 明确接口测试自动化需要的功能

1)校验(断言)

测试断言是自动化测试中的测试通过条件,用于判断测试用例是否符合预期。所以支持对返回值校验是一个必 须的功能。

2)数据隔离

数据隔离就是指具体的请求接口、参数、校验等数据做到与代码相隔离,便于维护,一旦需要调整接口用例、 新增接口用例时可很快速的找到位置。隔离的另一个好处就是可复用,框架可以推广给其他团队,使用者可以 使用相同的代码,只需要根据要求填写各自用例即可测试起来。

3)数据传递

做到数据隔离可维护后,数据传递是另外一个更重要的需求。接口测试时,首先我们会实现单接口解耦,后续 按照业务场景组合多个接口。而数据传递是则是组合多个接口的必要条件,它让接口用例之间可以做到向下传 参。举个例子,我们通过设备信息查询接口查询到当前天猫精灵音箱的设备信息,该接口会返回一个 UUID, 接下来我们要通过用户信息查询接口去查询当前设备绑定的用户信息,此时第二个接口的请求数据是需要从第 一个接口用例中的返回中提取的。

4)功能函数

实际的业务场景测试会需要各种辅助功能的支持,比如随机生成时间戳,请求 ID,随机的手机号码或位置信 息等等,此时我们就需要代码可以支持做到识别对应关键字时可以执行对应的功能函数进行填充。

5)可配置

目前测试环境包括但不限于日常、预发一、预发二、线上等等,因此用例不单单只能在一个环境上执行,需要 同一份接口用例可以在日常、预发、线上等多个环境都可以执行。所以框架需要做到可配置,便于切换,调用 不同的配置文件可以在不同的环境执行。

6)日志

日志包含执行的具体执行接口、请求方式、请求参数、返回值、校验接口、请求时间、耗时等关键信息,日志 的好处一来是可以便于在新增用例有问题时快速定位出哪里填写有问题,二来是发现 bug 时方便向开发反馈 提供数据,开发可以从触发时间以及参数等信息快速定位到问题所在。

7)可视化报告

用例执行后,就是到了向团队展示结果的时候了,一个可视化的报告可以便于团队成员了解到每次自动化接口 用例执行的成功数、失败数等数据。

8)可持续集成

对于已经有测试用例并测试完成的接口,我们希望能够形成回归用例,在下一个版本迭代或上线之前,通过已 有用例进行一个回归测试,确保新上线的功能不影响已有功能。因此,这就需要接口自动化测试是可持续集成 的而不是一次性的。

二、Requests库

requests.requests(method, url, **kwargs)
  • method:请求方式:GET, PUT,POST,HEAD, PATCH, delete, OPTIONS7种方式
  • url:网络链接
  • kwargs: (13个可选参数)

三、常用的响应( Response)数据 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值