python 自动化测试中 全局变量设置和引用

Tips: 使用类属性的定义和获取来作为全局变量的设置和读取,好处是不需要再创建文件,维护数据库等相对来说简便一些(个人觉得)。

第一步:创建一个类,用类属性的 setattr() 和 getattribute() 方法 来定义和获取类属性。

# utils.variable_util.py

class Varaible:
    """
    globale varaible class. you can set a global variables for your project. and then other module can use the variables
    """

    def set_variable(self, name, value) -> None:
        """
        set variables
        :param name: variable name
        :param value: variable value
        :return: None
        """
        try:
            self.__setattr__(name, value)
            return (name, self.get(name))
        except AttributeError:
            return None

    def get_variable(self, name):
        """
        get the variable you set, if not the variable will return None
        :param name: variable name
        :return: variable value or None
        """
        try:
            return self.__getattribute__(name)
        except AttributeError:
            return None

    def del_variable(self, name):
        """
        delete your variable. if delete success will retrun True, else retrun None
        :param name: variable name
        :return: True or False
        """
        try:
            self.__delattr__(name)
            return True
        except AttributeError:
            return None

第二步:实例化 Variable 类,创建对象。然后在项目中直接使用该实例的方法即可

# common.__init__.py

from utils.variable_util import Varaible

global_variable = Varaible()

第三步:在项目中使用 Variable 实例方法设置和获取全局变量

# 某个使用 unittest框架写的测试用例类

from common import global_variable


class TestOneClass(unittest.TestCase):

    def setUp(self) -> None:
        global_variable.set_variable("test_case", "11111111")  # 设置全局变量(类属性)
        print("setUp")

    def tearDown(self) -> None:
        print(global_variable.get_variable("test_case"))  # 获取全局变量(类属性)
        print("tearDown")
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值