zoukankan      html  css  js  c++  java
  • 关于去哪儿网的UI自动化测试脚本(Python实现)

    UI自动化测试
    Qunar机票搜索场景
    访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发、到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索列表页。
    在列表页停留1分钟,至到页面上出现“搜索结束”。
    如果出现航班列表,对于出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表中会出现“第一程”、 “第二程”;对于没有出现“每段航班均需缴纳税费”的行随机点选“订票”按钮,在展开的列表底部中会出现“报价范围”
    如果不出现航班列表,则页面会出现“该航线当前无可售航班”
    请使用maven创建java工程,引入Selenium框架,编写WebUI代码,实现上述人工操作和验证。要求能随机验证100个城市对的3个月内的任意搜索条件。

    看到乙醇博客里提到过,特意找了别人的文章看了下,不过是java的,没怎么看懂。

    下边是第一步:选择“单程”,输入出发、到达城市,选择出发+7日后的日期(原文是today+7日后的日期),点“搜索”,跳转到机票单程搜索列表页,剩下部分以后补齐。

    两个难点,一个取得出发并加7天,一个是返回日期。第一个用python的datetime模块,第二个有两种方法:1、在返回输入框前边有个“返回”提示文字,点击后,就可以输入,这个有点简单。2、另外一种办法是用js,下边是后一种办法:

    #coding=utf-8
    from selenium import webdriver
    import time,datetime
    
    fromcity = u'广州'
    tocity = u'上海'
    
    driver = webdriver.Firefox()
    driver.get('http://flight.qunar.com/')
    driver.find_element_by_name('fromCity').clear()
    driver.find_element_by_name('fromCity').send_keys(fromcity)
    driver.find_element_by_name('toCity').clear()
    driver.find_element_by_name('toCity').send_keys(tocity)
    el = driver.find_element_by_id('fromDate').get_attribute('value')
    todate = str(datetime.datetime.strptime(el,'%Y-%m-%d').date()+datetime.timedelta(days=7))
    driver.execute_script('$("#dfsForm .js_arrivalDateDiv_disable").css("display","none")')
    driver.execute_script('$("#dfsForm .js_arrivalDateDiv").removeAttr("style")')
    driver.find_element_by_id('toDate').clear()
    driver.find_element_by_id('toDate').send_keys(todate)
    driver.find_element_by_class_name('btn_search').click()
    time.sleep(5)
    driver.quit()
  • 相关阅读:
    [原创] 分享一些linux教程
    [转] linux中pam模块
    [转] 虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理
    [转] linux中常用的命令
    dede调用指定的多个栏目导航
    dede留言板BUG解决
    织梦如何实现二级栏目导航的仿制
    DEDE数据库修改
    任务管理器磁盘显示100%
    再次改版轮播图
  • 原文地址:https://www.cnblogs.com/xmlbw/p/4552456.html
Copyright © 2011-2022 走看看