zoukankan      html  css  js  c++  java
  • 去哪儿面试题

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

    未完工代码

    #coding=utf-8
    from selenium import  webdriver
    from selenium.webdriver.common.keys import Keys
    from time import   sleep
    from selenium.common.exceptions import InvalidSelectorException
    from selenium.common.exceptions import NoSuchElementException
    
    dictlist = {}
    dr = webdriver.Firefox()
    
    
    def search():
    
    #open website
        dr.get('http://flight.qunar.com')
    #click single travel
        dr.find_element_by_id('searchTypeSng').click()
    
    #clear
        dr.find_element_by_xpath("//input[@name='fromCity']").clear()
    
    
    #enter from city
        dr.find_element_by_xpath("//input[@name='fromCity']").send_keys("北京".decode("utf-8"))
    
    #clear
        dr.find_element_by_xpath("//input[@name='toCity']").clear()
    
    
    #enter to city
        dr.find_element_by_xpath("//input[@name='toCity']").send_keys("深圳".decode("utf-8"))
    
    
    #clear
        dr.find_element_by_xpath("//input[@name='fromDate']").clear()
    
    #enter date
        dr.find_element_by_xpath("//input[@name='fromDate']").send_keys("2014-07-22")
    
    #click
        dr.find_element_by_xpath("//div[@id='js_flighttype_tab_domestic']//button[text()='搜 索']").click()
    
    #sleep
        sleep(6)
    
    #wait searching end
        while True:
            tex = dr.find_element_by_id('progTip')
            if(tex.text.find("搜索结束".decode("utf-8")) >= 0):
                break
            else:
                sleep(1)
    
    
    def elementsisexist(id):
        try:
            dr.find_element_by_id(id)
            return True
        except NoSuchElementException, e1:
            return False
    
    
    
    def finddicts():
        cnt = 0
        while True:
            try:
                links = dr.find_elements_by_class_name("avt_column")
                for link in links:
                    print(link.get_attribute('id'))
                    dictlist[cnt] = link.get_attribute('id')
                    cnt += 1
                break
            except InvalidSelectorException,e:
                if(elementsisexist('nextXI3')):
                    dr.find_element_by_id('nextXI3').click()
                    sleep(10)
                else:
                    break
    
    
    
    
    
    if __name__=='__main__':
        search()
        finddicts()
        dr.quit()
    

      

      

  • 相关阅读:
    Linux查看系统资源占用
    覆盖索引有何用?
    Java8新特性
    架构的力量!!2016解密互联网公司架构技术
    作为程序员,如何防辐射?
    Mysql查询正在运行的事务以及杀掉它
    Hbase设计实战
    不可不知的网络知识与工具
    MySQL数据库事务剖析
    dos插入mysql乱码
  • 原文地址:https://www.cnblogs.com/xiaobaichuangtianxia/p/3774913.html
Copyright © 2011-2022 走看看