python语言使用yaml 管理selenium元素

1.所有元素都在PageElement下的.yaml,如图

login_page.yaml文件:

username:
  dec: 登录页
  type: xpath
  value: //input[@class='custom-text']
password:
  dec: 密码输入框
  type: xpath
  value: //input[@class='custom-text password']

loginbtn:
  dec: 登录按钮
  type: xpath
  value: //button[@type='submit']

 解析yaml文本

def  parseyaml():
    #当前脚本路径的父类
    basepath=os.path.dirname(os.path.dirname(__file__))
    #yaml_path=basepath+"\\PageElement"
    yaml_path = basepath + "\\PageElement"
    pageElements = {}
    # 遍历读取yaml文件

    for fpath, dirname, fnames in os.walk(yaml_path):

        for name in fnames:
            # yaml文件绝对路径
            yaml_file_path = os.path.join(fpath, name)
            print(yaml_file_path)
            # 排除一些非.yaml的文件
            if ".yaml" in str(yaml_file_path):
                with open(yaml_file_path, 'r', encoding='utf-8') as f:
                    page = yaml.load(f)
                    pageElements.update(page)
    #返回字典内容
    #for i in pageElements[pagename]['locators']:
    #   print(i)
    return pageElements


if __name__ == "__main__":
    a = parseyaml()
    print(a)
    print("*******************")
    print(a["username"]["type"])
    print(a["username"]["value"])

  解析结果

猜你喜欢

转载自www.cnblogs.com/chongyou/p/11060928.html
今日推荐