python接口自动化-pytest-依赖测试

Python014

python接口自动化-pytest-依赖测试,第1张

我们在接口自动化过程中,总会存在依赖性较强的场景,比如批价->下单->支付,具备强依赖关系,这个时候就用到了依赖测试。

参考 https://blog.csdn.net/dingding_ting/article/details/117200319

在test_01函数前我们加上了@pytest.mark.dependency(),

在test_02函数前也写了@pytest.mark.dependency(depends=["test_01"])

在类中执行,不能直接写方法名,需要加上类名::方法名或者别名

在test_01函数前我们加上了@pytest.mark.dependency(),

在test_02函数前也写了@pytest.mark.dependency(depends=["类名::test_01"])

(1)class

作用于所属的类,外部类不会被关联

@pytest.mark.dependency(depends=["test_01"],scope="class")

(2)module

默认参数是’module’,作用于当前文件。只会查找当前文件的符合条件的文件名,类里同名的方法不会被依赖。

@pytest.mark.dependency(depends=["test_01"],scope="module")

(3)package

作用于当前目录同级的依赖函数,跨目录无法找到依赖的函数。

例如在dep2目录下,创建了test_dep_01.py和test_dep_02.py

@pytest.mark.dependency(depends=[" xxx.py ::类名::test_01"],scope="package")

(4)session

作用域全局,可跨目录调用。但被依赖的用例必须先执行

@pytest.mark.dependency(depends=["xx/ xx.py ::类名::test_01"],scope="session")

支持直接在类名上方添加,那么类下面所有方法都不执行

比如:依赖用例1满足条件(学员详情列表有数据),再执行用例2(检查学习进度)

比如:依赖用例1满足条件(学习进度100%),再执行用例2(新建完成课程的标签)

在使用Python做接口自动化测试过程中,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息。

另外,大部分接口调用往往需要先进行登录操作,然后才能对相关的接口进行操作。

针对以上情形,通常我们会有两种做法

s = requests.session() 会实例化会话一个会话对象

我们在测试中也会遇到这样一种情况,除了cookie之外,在请求时需要在header中加入额外的验证,这时我们可以用s.headers.update()方法,将其余请求方法中的headers属性合并起来作为最终的请求方法的headers

经验证,可以正常向需要首先登陆的接口发送请求

调用方法

1)背景 :如何在不同目录不同文件下共用一个变量来提高用例复用性?

2)源码

3)注意 :需要在test_case目录下初始化文件 init .py中新增glo_all._init() ,只能在方法内或者类里面指向,需要有main入口

4)调用方法