硒自动化测试

时间:2019-09-09 17:36:49

标签: python selenium

我在txt文件中有太多的用户名和密码,我想在测试脚本中使用它们,许多密码包含(:),错误是(ValueError:太多的值无法解包(预期2))解决此问题以及如何从txt文件获取数据并在测试中使用它们。

txt看起来像这样

user1:pass1
user2:pass2
user3:password
username5:password6
testit:passtest

我尝试了许多代码来读取txt文件并使用它来登录时没有运气。

登录执行一些任务,然后注销并使用其余帐户重复该过程

from selenium import webdriver
    from time import sleep
    from getpass import getpass
    import time

#login username & password

with open('accounts.txt', 'r') as file:
    for line in file:
        user, password = line.split(':')


#define what browser & website
browser = webdriver.Firefox()
browser.get(('https://example.com'))
elem = browser.find_element_by_xpath("//*[@id='loginRegisterTabs']/ul/li[1]")
elem.click()

emailelement = browser.find_element_by_xpath("//*[@id='loginForm']/div[1]/div/input")
emailelement.send_keys('user')
passelement = browser.find_element_by_xpath("//*[@id='loginForm']/div[2]/div/input")
passelement.send_keys('password')
elem = browser.find_element_by_xpath("//*[@id='loginForm']/p/button[1]/span")
elem.click()

#server login
time.sleep(1)
elem = browser.find_element_by_xpath("//*[@id='joinGame']/button/span[1]")
elem.click()

#Active Daily
time.sleep(1)
elem = browser.find_element_by_xpath("//*[@id='multiPopup']/div[2]/div[2]/a")
elem.click()


#menu
time.sleep(4)
browser.switch_to.window(browser.window_handles[1])
elem = browser.find_element_by_xpath("//*//*[@id='GF_toolbar']/ul/li[5]/a")
elem.click()

#Vmod Menu
time.sleep(2)
elem = browser.find_element_by_xpath("//*[@id='vacationMode']/div[1]/div/a")
elem.click()

#Active Vmod
time.sleep(2)
elem = browser.find_element_by_xpath("//*[@id='options_umod_confirm']/div[2]/div[2]/div[2]/div[1]/div[1]/a")
elem.click()

1 个答案:

答案 0 :(得分:2)

  1. 限制用户/密码字符串中的拆分数量:

    user, password = line.split(':', 1)

  2. 将所有内容移动到for循环下的这一行下(在文件行上重复)