標籤:
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-8from selenium import webdriverimport time,datetimefromcity = 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()
關於去哪兒網的UI自動化測試指令碼(Python實現)