前面我们实现了,读取配置文件里的账号和密码,接下来是将读取到的账号密码分别循环执行登陆测试。
因为登陆测试的时候,登陆用户名和密码,以及退出登陆是每次测试都需要执行的动作,所以就作为公共模块来做了。
public.py
#载入所读取的配置文件并赋值
import reader
import time
k = reader.read()
def login(driver):
m = 0
'''
使用循环遍历所有的账号和密码 ---注意只能使用一个变量去循环,刚好得出n个结果。如果账号和密码都循环遍历的话会得出n²个结果
'''
for username in k[0]:
pwd = k[1][m]
#print(pwd)
#定位frame必须写入循环函数中,因为每次退出之后登陆都需要
driver.switch_to.frame('x-URS-iframe')
username_ele = driver.find_element_by_name('email')
pwd_ele = driver.find_element_by_name('password')
login_ele = driver.find_element_by_id('dologin')
#输入账号
username_ele.clear()
username_ele.send_keys(username)
#输入密码
pwd_ele.clear()
pwd_ele.send_keys(pwd)
#点击登录
login_ele.click()
#因为登陆进入之后网页改变,需要切换页面
driver.switch_to_default_content()
#点击退出
driver.find_element_by_xpath('/html/body/header/div[1]/ul[1]/li[17]/a').click()
#退出来之后由于网页变了,不在登陆界面所以需要重新载入登陆网页
driver.get('http://mail.163.com/')
time.sleep(2)
m += 1
print('第%d次'%m)
print (username,pwd)
!!!如果复制代码的话,请注意你的格式,因为上面有些地方时空格有些地方是缩进!!!