victory的博客

长安一片月,万户捣衣声

0%

selenium | pyhon+selenium测试WebTours网站登录注册功能

pyhon+selenium测试WebTours网站登录注册功能

Web Tours下载、安装

WebTours下载、安装

安装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("注销失败")