from selenium import webdriver import time from selenium.webdriver.support.ui import WebDriverWait def waituntil_load(driver,times,func): return WebDriverWait(driver,times).until(func) def openBrower(): driver = webdriver.Chrome() return driver def openUrl(driver,url): driver.get(url) driver.maximize_window() def findElement(driver,arg):#参数是字点 # driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[3]/div/div').click() #关闭弹窗 waituntil_load(driver, 15, lambda driver: driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[3]/div/div')).click() if 'text_id' in arg.keys(): element_login = waituntil_load(driver,15,lambda driver:driver.find_element_by_link_text(arg['text_id'])) element_login.click() time.sleep(3) userEle = driver.find_element_by_id(arg['userid']) pwdEle = driver.find_element_by_id(arg['pwdid']) loginEle = driver.find_element_by_id(arg['loginid']) return userEle,pwdEle,loginEle def sendValues(eletuple,arg):#arg为登录数据,格式为字典 listkey = ['account','pwd'] i = 0 for key in listkey: eletuple[i].clear() eletuple[i].send_keys(arg[key]) i += 1 eletuple[-1].click() def checkResult(driver,i): try: a = driver.find_element_by_id('login-form-tips') print('第%d个账号登录失败,提示信息为:%s'%(i+1,a.text)) except: print('第%d个账号登陆成功'%(i+1)) def login_test(ele_dict,user_list): driver = openBrower() openUrl(driver,ele_dict['url']) ele_tuple = findElement(driver,ele_dict) for i in range(len(user_list)): sendValues(ele_tuple,user_list[i]) time.sleep(3) checkResult(driver,i) time.sleep(3) if __name__ == '__main__': ele_dict = {'url': 'http://www.maiziedu.com/', 'text_id': '登录', 'userid': 'id_account_l', 'pwdid': 'id_password_l', 'loginid': 'login_btn', #'account' : '18665933615', #'pwd' : 'abc123456', #'errorinfo' : '账号或者密码错误,请重新输入' } user_list = [{'account' : '18665933615','pwd' : 'abc123456'}, {'account': '123', 'pwd': 'abc123456'}, {'account' : '632345244@qq.com','pwd' : 'pu123'}] login_test(ele_dict,user_list)
D:\Anaconda3\python.exe E:/project/demo/mokuaihua/2登录用例模块数字化(字典).py 第1个账号登录失败,提示信息为:账号或者密码错误,请重新输入 第2个账号登录失败,提示信息为:该账号格式不正确 第3个账号登陆成功