1. 程式人生 > >驗證客服按鈕及連結跳轉正確性

驗證客服按鈕及連結跳轉正確性

小的需求迭代:頁面新增客服按鈕;頁面上下滾動客服按鈕要一直顯示;按鈕跳轉到固定連結   分步實現: 1 利用cookie跳過登入(開啟網頁,寫入cookie重新整理或再次get網址) 2 驗證客服按鈕是否顯示(element.isdisplayed()) 3 驗證頁面滾動後客服按鈕是否顯示 (執行js指令碼) 4 驗證客服按鈕跳轉連結的正確性(切換視窗) 5 發生異常或用例失敗時儲存截圖 (get_sreenshot_as_file(),捕獲異常try...except...finally...)
#
coding:utf-8 '''
dinghanhua
客服按鈕驗證指令碼 ''' from selenium import webdriver import time test_domain = 'http://testurl' #測試域名 product_domain = 'http://producturl' #線上域名 domain = product_domain #方便切換環境
url = domain+'/testurl' #測試地址
consult_url = 'http://consulturl' #客服按鈕跳轉地址

dr = webdriver.Chrome()
#dr = webdriver.Firefox() #相容性測試
#dr = webdriver.Ie() #相容性測試 dr.get(domain) #先訪問域名,寫入cookie dr.add_cookie({'name':'loginstring','value': 'loginvalue'}) time.sleep(2) dr.get(url) #再訪問測試地址 time.sleep(2) try: popconsult = dr.find_element_by_id('popconsult') #驗證客服按鈕是否顯示 if popconsult.is_displayed(): print(domain,'
顯示有諮詢按鈕,pass') else: print(domain,'未顯示諮詢按鈕,fail') dr.get_screenshot_as_file('D:/未顯示諮詢按鈕.png') #下拉滾動條仍顯示在頁面 js = 'document.documentElement.scrollTop=1000' dr.execute_script(js) time.sleep(1) popconsult = dr.find_element_by_id('popconsult') if popconsult.is_displayed(): print('滾動之後顯示正常 pass') else: print('滾動之後未顯示在頁面範圍內 fail。') dr.get_screenshot_as_file('D:/滾動之後未顯示在頁面範圍內.png') #驗證客服按鈕點選跳轉地址是否正確
   js = 'document.documentElement.scrollTop = 0'
   dr.execute_script(js)
   time.sleep(1)
   popconsult = dr.find_element_by_id('popconsult') popconsult.click() time.sleep(2)
current_window
= dr.current_window_handle handles = dr.window_handles for handle in handles: if handle != current_window: dr.switch_to.window(handle) if dr.current_url == consult_url: print('地址正確,pass') else: print('地址錯誤,fail.當前地址:',dr.current_url) except Exception as e: print('發生異常,截圖:D:/客服按鈕異常.png。\n',e) dr.get_screenshot_as_file('D:/客服按鈕異常.png') finally: #退出 dr.quit()