Python教程

python __getattr__ 方法在自动化测试中的应用

本文主要是介绍python __getattr__ 方法在自动化测试中的应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

内容部分来自网络

python中调用a.xx,内部就是a.__getattr__(xx)或者getattr(a, xx),而a.xx(),其中xx实现了__call__()方法,即调用了getattr(a, xx)()。

通过重写__getattr__(xx)方法实现返回值调用

举个栗子:

class Page:
    def __init__(self, ):
        pass

    def __getattr__(self, loc):
        if loc not in self.locators.keys():
            raise Exception
        print(loc)
        by, val = self.locators[loc]
        return by, val


class CommonLoginPage(Page):
    locators = {
        'username': ('id', 'account'),
        'password': ('name', 'password'),
        'loginBtn': ('id', 'submit')
    }

    def login(self, ):
        print(self.username)
        print(self.password)


dome = CommonLoginPage()
dome.login()

# 结果
# username
# ('id', 'account')
# password
# ('name', 'password')

使用__getattr__方法即可将元素定位放在一个字典中统一管理。

这篇关于python __getattr__ 方法在自动化测试中的应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!