Python+Selenium用例模块数据化之2:字典

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个账号登陆成功
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值