python webUI自动化依赖用例如何衔接?

Python022

python webUI自动化依赖用例如何衔接?,第1张

s='{"mobilephone":"${admin_user}","pwd":"${admin_pwd}"}'

admin_user="13707796666"

admin_pwd="123456"

方式一:引入Json模块,把字符串转换成字典,根据Key去取值判断

import json

dict_1=json.loads(s)

if dict_1["mobilephone"]=="${admin_user}":

dict_1["mobilephone"]=admin_user

if dict_1["pwd"]=="${admin_pwd}":

dict_1["pwd"]=admin_pwd

print(dict_1)

方式二:利用python内置函数find()函数和replace()函数进行查找和替换

字符串存在,find()函数就返回索引位置,字符串不存在,find()函数就返回-1

if s.find("${admin_user}")>-1:

s=s.replace("${admin_user}",admin_user)#字符串是不能做修改的,要重新赋值才能显示最新

if s.find("${admin_pwd}")>-1:

s=s.replace("${admin_pwd}",admin_pwd)

print(s)

{'pwd': '123456', 'mobilephone': '13707796666'}

{"mobilephone":"13707796666","pwd":"123456"}

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

参考 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在安装的时候,您应当确保Python配备了pip.

使用pip来安装各种模块和包,就可以实现自动化,自动检查依赖,自动安装。

否则,就只能下载安装包或者一个个手动安装。