字典格式
import random
# 定义一个字典
test_data = {
"num": 0 # num 默认值为0
}
def test_f1():
# 生成一个随机0-10的数据
n = random.randint(0,100)
print(f'生成随机值 {n}')
# 将生成的值n 放在字典的num字段中
test_data["num"] = n # 上游设置参数
# 不要这样写
# test_data = {"num":n}
# 现在test_data的值
print(test_data)
def test_f2():
# f2 我想使用f1中的token,不能直接引用
# 通过字典中的值来引用
print(f'f2里面使用f1中的n的值:{test_data["num"]} ') # test_data["num"]} 下游引用参数
文件操作
将上游接口返回的值保存到文件中,下游中引用数据的时候通过读取文件内容来引用。
"""
介绍上下游传参 通过文本
"""
import random
def test_f1():
n = random.randint(100,200)
print(f"f1 随机值{n}")
# 将n的值写入到文件
with open('randomfile.txt',mode='w',encoding='utf8') as f:
f.write(str(n))
def test_f2():
# 从文件中读取数据
with open('randomfile.txt',mode='r',encoding='utf8') as f:
num = f.read()
print(f'f2 中取值 {num}')
执行
将结果保存到文件中,通过读取文件数据进行上下游传参。当要传的参数比较多的时候,读写会比较麻烦,不推荐这样方式。
函数返回值方式传参
函数有返回值,通过返回值的方式来传参。
import random
from common.utils import get_phone
def test_reiger():
phone = get_phone()
print(f'使用手机注册 {phone}')
def test_login():
phone = get_phone()
print(f"使用手机登录 {phone}")
token = random.randint(1,1000000)
print(f"获取token {token}")
return token
def test_add_cart():
token = test_login()
print(f"使用token {token}")
因为在第三个接口中调用了一次 test_login ,所以test_login 执行了两次。
这种方式如果要传递参数比较多,就需要多次执行,造成多余的用例运行。
这样方式也不推荐。