功能
采用for循環(huán)從users.txt文件中讀取用戶信息數(shù)據(jù)腺怯,在“http://localhost:1080/WebTours” 網(wǎng)址上完成用戶注冊操作??
說明:進行參數(shù)化數(shù)據(jù)的同時,加入了檢查點,可以比較和第一個腳本的不同
代碼
from selenium import webdriver
from selenium.webdriver.support.select import Select
from time import sleep
driver=webdriver.Chrome()
#不用重復地打開瀏覽器驅(qū)動器级乐,但是瀏覽器需要重復打開,需要重復出現(xiàn)登錄界面
#文件名中禁用轉(zhuǎn)義字符 除了上一篇文章中提到的在轉(zhuǎn)義字符前加\,還可以在整個文件名前加r
file=open(r"d:\users.txt")
#按行讀取文件得到line,分割line得到每列的數(shù)據(jù)浅侨,第一列是用戶名un,第二列是密碼
for line in file:
? ? cols=line.split()
? ? un=cols[0]
? ? pwd=cols[1]
? ? driver.get("http://localhost:1080/WebTours")
? ? sleep(3)
? ? #切框架
? ? #回到主框架(所有框架的外面)
? ? driver.switch_to_default_content()
? ? driver.switch_to_frame("body")
? ? driver.switch_to_frame("info")
? ? #找元素
? ? #driver.find_element_by_link_text("sign up now").click()
? ? driver.find_element_by_partial_link_text("sign up").click()
? ? sleep(3)
? ? #換新網(wǎng)頁就要切框架
? ? driver.switch_to_default_content()
? ? driver.switch_to_frame("body")
? ? driver.switch_to_frame("info")
? ? #寫循環(huán)后,send_keys的數(shù)據(jù)也需要更改成從文件中讀取到的用戶名和密碼
? ? driver.find_element_by_name("username").send_keys(un)
? ? driver.find_element_by_name("password").send_keys(pwd)
? ? driver.find_element_by_name("passwordConfirm").send_keys(pwd)
? ? driver.find_element_by_name("register").click()
? ? #防止結果出不來,sleep一段時間
? ? sleep(3)
? ? driver.switch_to_default_content()
? ? driver.switch_to_frame("body")
? ? driver.switch_to_frame("info")
? ? actual=driver.find_element_by_tag_name("body").text
? ? #寫循環(huán)后萨西,期望輸出也需要根據(jù)讀取到的文件內(nèi)容做相應更改
? ? expect="Thank you, "+un
? ? if expect in actual:
? ? ? ? print("測試成功")
? ? else:
? ? ? ? print("測試失敗")
driver.quit()