自动化框架如何在代码块中增加自定义全局变量

背景

在造数工具或者自动化测试中,集成可执行的代码块是非常有价值,但可执行代码结果不能脱离上下文而独立存在,这个时候可以尝试使用变量进行传参。这样就可以对多个代码块以及其他接口进行值关联

实现

创建一个类,初始化一个变量variables,通过在code 将self.variables参数赋值,然后将code执行放在将exec执行,放在locals函数里。local函数会自动赋值给self.variables变量。这样就可以做到自动化测试前置处理器以及后置处理的变量传递。这样其他函数可以直接调用variables里的变量数据即可。

class te:
    def __init__(self):
        self.variables={}
    def exec_py(self,code):
        exec(code, locals())
        return self.variables
code="self.variables['prdName'] = None"
aa=te().exec_py(code)
print(aa)

结果:{'prdName': None}

你可能感兴趣的:(python测试开发,自动化代码块,python,exec,代码块全局变量)