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个账号登陆成功