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()
  • 相关阅读:
    UVA10765图论+点-双连通分量性质应用
    LA4287图论+ 有向图SCC+缩点
    LA5135图论+ 割点性质运用
    LA2572计算几何+离散化+面的覆盖
    LA2402暴力枚举+计算几何+四边形面积
    UVA10566计算几何+相似三角形比例函数+二分范围的辨析
    UVA11300计算几何:正n边形内的最长的线
    UVA11524平面几何+二分法+海伦公式
    LA4986三分法求出凹性函数最小值+计算几何
    胜利大逃亡--hdu --1253(bfs)
  • 原文地址:https://www.cnblogs.com/xmlbw/p/4552456.html
Copyright © 2011-2022 走看看