【功能自动化】WebTours实现订票流程并设置检查点

环境搭建

1.需要配置WebTours网站

代码实现:

# 导入包
from selenium  import webdriver
from selenium.webdriver.support.select import Select
from time import sleep

# 打开浏览器
driver = webdriver.Chrome()
driver.get("http://127.0.0.1:1080/WebTours/")
# 等待3秒
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
expect = 'Welcome to the Web Tours site.'
# 精确匹配用in 否则用in 
if expect in actual:
    print("打开网站:成功")
else:
    print("打开网站:失败")

# 切换框架
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("navbar")

# 登录
yhm = 'admin'
mm = '123456'
# 输入用户名
driver.find_element_by_name("username").send_keys(yhm)
# 输入密码
driver.find_element_by_name("password").send_keys(mm)
# 点击登录
driver.find_element_by_name("login").click()
sleep(3)

# 切换框架
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")

expect = "Welcome, "+yhm
actual = driver.find_element_by_tag_name("body").text
# 精确匹配用in 否则用in 
if expect in actual:
   print("登录:成功")
else:
    print("登录:失败")

# 搜票
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="London"
# select_by_value 值是看不见的
Select(driver.find_element_by_name("arrive")).select_by_visible_text="Paris"
driver.find_element_by_name("findFlights").click()
sleep(1)

# 查看预定的航班信息
driver.find_elements_by_name("outboundFlight")[0].click()
driver.find_element_by_name("reserveFlights").click()
sleep(1)
   
# 支付信息
driver.find_element_by_name("buyFlights").click()
sleep(1)


# 切换框架

expect = "Flight 240 leaves London for Paris"
actual = driver.find_element_by_tag_name("body").text
# 精确匹配用in 否则用in 
if expect in actual:
   print("订票:成功")
else:
    print("订票:失败")
 
#预定下一个
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()
sleep(1)


# 切换框架
driver.switch_to_default_content()
driver.switch_to_frame("body")
driver.switch_to_frame("info")

expect = "sign up now"
actual = driver.find_element_by_tag_name("body").text
# 精确匹配用in 否则用in 
if expect in actual:
   print("注销:成功")
else:
    print("注销:失败")
    
# info 
driver.quit()
相关推荐
Tassel_YUE26 分钟前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
€☞扫地僧☜€34 分钟前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
其乐无涯40 分钟前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流41 分钟前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩43 分钟前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
斑布斑布44 分钟前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
紅色彼岸花1 小时前
第六章:DNS域名解析服务器
运维·服务器
✿ ༺ ོIT技术༻1 小时前
Linux:认识文件系统
linux·运维·服务器
会掉头发1 小时前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信
我言秋日胜春朝★1 小时前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器