目录:导读
前言
接口自动化测试过程中怎么处理接口依赖?
首先我们要搞清楚什么是接口依赖。
什么是接口依赖?
接口依赖指的是,在接口测试的过程中一个接口的测试经常需要依赖另一个或多个接口成功请求后的返回数据。
那怎么处理呢?不同场景的处理方式有所不同。
接口依赖的多种场景
1、单接口测试
在单接口测试时接口依赖有两种场景。
在整个接口用例测试前的依赖
例如:需要登录后的接口,需要在测试前先访问登录接口获取对应的鉴权凭证,例如token。
在接口的每一个用例测试前的依赖
例如:项目审核接口,需要在每次测试前都创建一个项目
2、业务流测试
多接口测试业务流时,下一个接口依赖上一个接口的执行结果。
解决方案
不同场景下的解决方案不同。我们在做接口自动化时不管是python语言还是java语言,都会使用单元测试框架。这里我们主要以python的unittest框架为主,不同框架只是实现方式有所不同,但是思想架构都大同小异。
不管是那种场景的接口依赖都可以通过单元测试框架的前置条件/脚手架代码进行处理,不同的是如何传递依赖的数据。
几乎是所有的单元测试框架中用例都被设计成隔离的,也即是用例对象和用例对象间是隔离的,独立的。所以传递依赖数据需要一个第三方容器。
一般有两种方案:
定义一个全局变量来共享
通过当前测试用例类的类属性共享
单接口测试场景1 解决方案
在整个接口用例测试前的依赖,我们放在unittest框架的类级前置方法setUpClass中进行处理。数据传递通过全局变量和类属性进行共享都可以。
代码示例如下:
import unittest
def do_something():
"""
模拟表示前置接口
"""
return 3.14
# 定义一个全局变量类
class EnvData:
pass