globals()函数,实现将参数设置为系统的全局变量


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'])







posted @ 2020-11-28 12:28  大海一个人听  阅读(315)  评论(0编辑  收藏  举报