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"])
解析結果