import unittest
import requests
class TestA(unittest.TestCase):
def setUp(self):
self.s = requests.session()
def tearDown(self):
print('结束')
def test_a(self):
'''用例a'''
globals()["a"] = "aaaaaa" # 用例a的返回值
# 返回值先给全部办理,存到字典对应key
print('你的值是什么', globals().keys())
# 你的值是什么 dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__file__', '__cached__', '__builtins__', 'unittest', 'requests','TestA', 'a']) 可以注意到 a 已经存到了global()函数的字典中去了,如果要在下个接口使用的话,直接global().get('a')就可以取到值,至于拿到值以后在下个接口里面怎么传,
就要看下个接口的参数都有什么了,视情况而定
print('你的值是什么', globals().values())
self.assertEqual(globals()["a"], "aaaaaa")
def test_b(self):
'''用例b'''
# 在用例test_a中全局变量参数global(),通过globals().keys()查看到已经把字典{'a':'aaaaaa'}
# 的值保存到了全局变量内部,并且在用例test_b中可以使用globals().get('a') 获取到对应的value
# 然后把value值通过一个参数使用到用例test_b中。
# 这样就实现了,上个接口返回参数,下个接口进行调用
b = globals().get('a') # 引用用例a的返回值
print("用例b引用用例a的返回值:%s"%b)
result_b = b+"111"
self.assertEqual(result_b, "aaaaaa111")
if __name__ == '__main__':
unittest.main()
# Global.py文件
验证一下global()函数的类型和里面的值
dic = 'name'
globals()[dic] = 'luzhaoshan'
print(globals())
print(globals().keys())
print(globals().values())
下面是打印结果*****************************
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000000214C2B0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/PythonProject/202011月份复习/字典取值.py', '__cached__': None, 'dic': 'name', 'name': 'luzhaoshan'}
dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', '__file__', '__cached__', 'dic', 'name'])
dict_values(['__main__', None, None, <_frozen_importlib_external.SourceFileLoader object at 0x000000000214C2B0>, None, {}, <module 'builtins' (built-in)>, 'E:/PythonProject/202011月份复习/字典取值.py', None, 'name', 'luzhaoshan'])