【ui自动化】小技巧:给实例设置属性和值,用于页面对象获取定位器

要先知道的

通过setattr可以给类实例设置 属性和值

先看如下demo
在这里插入图片描述

代码如下

class BasePage:
    def __init__(self):
        #  setattr  可以给实例设置属性值
        setattr(self,"name","taoke")
        setattr(self, "age", 18)


        # 设置多组 属性值   [(),()]
        lis1= [('logout_button', ['xpath', "//span[text()='退出']"]), ('home_button', ['xpath', '//*[text()="首页"]'])]
        for key, value in lis1:
            setattr(self, key, value)

        # 设置多组 属性值   字典时,需要转化成 dict_items([(key,value),()])   就类似  [(key,value),(key,value)]
        dic1= {"名字":"TAOKE","Age":20}
        for key, value in dic1.items():
            setattr(self,key, value)

if __name__ == '__main__':
    one = BasePage()
    print(one.name)
    print(one.age)

    print(one.logout_button)

    print(one.名字)

了解了以上基础知识后,就可以利用setattr 它进行做了
首先,把定位器存到yml文件
在这里插入图片描述
然后通过读取yml方法,读取内容,读出来格式为(如读取的是 MainPage)
{“测试”: xxx,“home_button”: xxx} 这种字典
就能把定位器名字, 和定位器值 绑定到页面实例对象属性和值了

实际效果

` 把定位器的名字,和值绑定成 页面对象的属性和值,作用不大,但可以让代码更美观把
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值