字典格式
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 randomdef 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 randomfrom common.utils import get_phonedef 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 tokendef test_add_cart():token = test_login()print(f"使用token {token}")

因为在第三个接口中调用了一次 test_login ,所以test_login 执行了两次。
这种方式如果要传递参数比较多,就需要多次执行,造成多余的用例运行。
这样方式也不推荐。
