【功能自动化】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()
相关推荐
mc235619 小时前
Linux实用操作
linux·运维·服务器
半梦半醒*20 小时前
k8s——pod详解2
linux·运维·docker·容器·kubernetes·负载均衡
vvw&20 小时前
如何使用 Nodemon 自动重启 Node.js 应用
linux·运维·服务器·node.js
GIS数据转换器20 小时前
2025无人机在电力交通中的应用实践
运维·人工智能·物联网·安全·无人机·1024程序员节
Elendill21 小时前
【Ubuntu】Ubuntu 服务器升级系统操作记录
运维·服务器·ubuntu
北亚数据恢复21 小时前
服务器数据恢复—Raid5阵列热备盘同步失败,数据恢复揭秘
运维·服务器
塔能物联运维21 小时前
物联网运维中基于联邦学习的跨设备隐私保护与协同优化技术
运维·物联网
Dreamboat-L1 天前
使用VMware安装centos的详细流程(保姆级教程)
linux·运维·centos
数字化顾问1 天前
(114页PPT)华为FusionCloud私有云最佳实践RegionTypeII(附下载方式)
运维·服务器·华为
蓦然回首的风度1 天前
【运维记录】Centos 7 基础命令缺失
linux·运维·centos