selenium综合案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium综合案例相关的知识,希望对你有一定的参考价值。

参考技术A 第一步 自动化测试所要完成步骤

第二步 思维框架

设置 出发地 目的地 出发日期
1 先定位
2 获取站点的代号
3 通过excte_script() 去实现站点的设置
driver.execute_script('arguments[0].value="%s"'%from_station_code,from_station_input)
点击查询按钮 我希望看到车次列表
search_btn = driver.find_element_by_id('query_ticket')
按钮不能够被点击
driver.execute_script('arguments[0].click()', search_btn)
车次列表是通过ajax加载出来的

页面分析
显示等待 条件 这些tr标签加载出来
车次列表的分析 发现这些车次信息都是在tbody标签下面 有一些tr标签是需要个过滤的
train_trs = driver.find_elements_by_xpath('//tbody[@id="queryLeftTable"]/tr[not(@datatran)]')
我们把车次信息保存到列表里面
infos = train_tr.text.replace('\n',' ').split(' ')
希望预定 用户想要乘坐的车次以及对应的席位
判断车次 判断席位
if number in self.trains:
seat_types = self.trains[number] # 根据字典的key来获取票
for seat_type in seat_types:
if seat_type == 'O':
count = infos[9] # 二等座
if count == '有' or count.isdigit():
is_searched = True
break
elif seat_type == 'M':
count = infos[8] # 一等座
if count == '有' or count.isdigit():
is_searched = True
break

1 确认乘客
显示等待 判断是否是乘客信息界面
显示等待 等待乘客的label标签是否加载出啦 (测试 如果点不住)
init方法当中 初始化了乘客的信息 [xxx, xxx]

2 确认席位
确认席位的时候 发现它是个select标签
我们就要获取 乘客的理想的席位
因为 我们发现那个车次number 拿不到 self.selected_number = None
通过给 selected_number = number
K - v 来找到 value值。 通过select标签的方法 seat_select.select_by_value(seat_type) 还做了一个异常的处理

3 点击按钮
submit_btn = driver.find_element_by_id('submitOrder_id')
submit_btn.click()

以上是关于selenium综合案例的主要内容,如果未能解决你的问题,请参考以下文章

软件测试报告Selenium+TestNG综合练习

selenium+python 之断言,截图,日志,数据分离源码案例

使用selenium实现爬取BOSS直聘职位并写入数据库案例

案例实践:使用Selenium反爬美团

Selenium自动化案例

Python爬虫(二十三)_selenium案例:动态模拟页面点击