字典格式

  1. import random
  2. # 定义一个字典
  3. test_data = {
  4. "num": 0 # num 默认值为0
  5. }
  6. def test_f1():
  7. # 生成一个随机0-10的数据
  8. n = random.randint(0,100)
  9. print(f'生成随机值 {n}')
  10. # 将生成的值n 放在字典的num字段中
  11. test_data["num"] = n # 上游设置参数
  12. # 不要这样写
  13. # test_data = {"num":n}
  14. # 现在test_data的值
  15. print(test_data)
  16. def test_f2():
  17. # f2 我想使用f1中的token,不能直接引用
  18. # 通过字典中的值来引用
  19. print(f'f2里面使用f1中的n的值:{test_data["num"]} ') # test_data["num"]} 下游引用参数

文件操作

将上游接口返回的值保存到文件中,下游中引用数据的时候通过读取文件内容来引用。

  1. """
  2. 介绍上下游传参 通过文本
  3. """
  4. import random
  5. def test_f1():
  6. n = random.randint(100,200)
  7. print(f"f1 随机值{n}")
  8. # 将n的值写入到文件
  9. with open('randomfile.txt',mode='w',encoding='utf8') as f:
  10. f.write(str(n))
  11. def test_f2():
  12. # 从文件中读取数据
  13. with open('randomfile.txt',mode='r',encoding='utf8') as f:
  14. num = f.read()
  15. print(f'f2 中取值 {num}')

执行
image.png

将结果保存到文件中,通过读取文件数据进行上下游传参。当要传的参数比较多的时候,读写会比较麻烦,不推荐这样方式。

函数返回值方式传参

函数有返回值,通过返回值的方式来传参。

  1. import random
  2. from common.utils import get_phone
  3. def test_reiger():
  4. phone = get_phone()
  5. print(f'使用手机注册 {phone}')
  6. def test_login():
  7. phone = get_phone()
  8. print(f"使用手机登录 {phone}")
  9. token = random.randint(1,1000000)
  10. print(f"获取token {token}")
  11. return token
  12. def test_add_cart():
  13. token = test_login()
  14. print(f"使用token {token}")

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