pyhon+selenium测试WebTours网站登录注册功能
Web Tours下载、安装
安装selenium
在终端输入以下命令安装selenium:
pip install selenium
测试注册功能
user.txt
name1 1
name2 2
name3 3
注:本示例使用Firfox浏览器进行测试
代码:
from selenium import webdriver
from time import sleep
file = open("user.txt", "r")
for line in file:
username = line.split()[0]
password = line.split()[1]
# 注册
driver = webdriver.Firefox()
driver.get("http://localhost:1080/webtours")
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)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
driver.find_element_by_name("username").send_keys(username)
driver.find_element_by_name("password").send_keys(password)
driver.find_element_by_name("passwordConfirm").send_keys(password)
driver.find_element_by_name("register").click()
sleep(3)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
expect = "Thank you, " + username
actual = driver.find_element_by_tag_name("body").text
if expect in actual:
print("测试通过")
else:
print("测试失败")
driver.quit()
测试登录、订票功能
from selenium import webdriver
from time import sleep
from selenium.webdriver.support.select import Select
driver = webdriver.Firefox()
driver.get("http://localhost:1080/webtours")
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
if "Welcome to the Web Tours site" in actual:
print("打开网站成功")
else:
print("打开网站失败")
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("navbar")
driver.find_element_by_name("username").send_keys("jojo")
driver.find_element_by_name("password").send_keys("bean")
driver.find_element_by_name("login").click()
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
if "Welcome, jojo" in actual:
print("登录成功")
else:
print("登录失败")
sleep(3)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("navbar")
driver.find_element_by_xpath("//img[@alt='Search Flights Button']").click()
sleep(3)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
Select(driver.find_element_by_name("depart")).select_by_visible_text("Denver")
Select(driver.find_element_by_name("arrive")).select_by_visible_text("London")
driver.find_element_by_name("findFlights").click()
sleep(3)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
driver.find_elements_by_name("outboundFlight")[1].click()
driver.find_element_by_name("reserveFlights").click()
sleep(1)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
driver.find_element_by_name("buyFlights").click()
sleep(1)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
actual = driver.find_element_by_tag_name("body").text
if "Thank you for booking through Web Tours." in actual:
print("订票成功")
else:
print("订票失败")
sleep(3)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
driver.find_element_by_name("Book Another").click()
sleep(1)
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("navbar")
driver.find_element_by_xpath("//img[@alt='SignOff Button']").click()
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")
actual = driver.find_element_by_tag_name("body").text
if "Welcome to the Web Tours site" in actual:
print("注销成功")
else:
print("注销失败")