python使用yaml 管理selenium元素的示例

Python itxz 5年前 (2020-12-02) 329次浏览 已收录 0个评论

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  parse<a href="http://www.itxz.com/?tag=yaml" title="查看更多关于yaml的文章" target="_blank">yaml</a>():
    #当前脚本路径的父类
    basepath=os.path.dirname(os.path.dirname(__file__))
    #<a href="http://www.itxz.com/?tag=yaml" title="查看更多关于yaml的文章" target="_blank">yaml</a>_path=basepath+"\\PageElement"
    <a href="http://www.itxz.com/?tag=yaml" title="查看更多关于yaml的文章" target="_blank">yaml</a>_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"])
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"])

解析结果


IT学者 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python使用yaml 管理selenium元素的示例
喜欢 (0)

您必须 登录 才能发表评论!