自動化測試 -- 通過Cookie跳過登入驗證碼
阿新 • • 發佈:2019-01-04
準備工具:
------------------
fiddler
Python+selenium
------------------
以百度登入為例。
驗證碼是漢字的,我想通過程式識別起來有點難度,也會比較麻煩。
接下來開始動手。
1、開啟Fiddler 工具,像這樣!
2、通過瀏覽器登入正常登入百度賬號。像這樣!
3、通過Fiddler獲取登入請求的Cookie。找到Host為“passport.baidu.com”的URL,在右側視窗檢視該請求的Cookie。
然後,找到重要的兩個引數“BAIDUID”和“BDUSS”。
4、編寫Selenium自動化測試指令碼,跳過登入。
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") # 新增Cookie driver.add_cookie({'name':'BAIDUID','value':'AAAAAAAAAAAAAA:FG=1'}) driver.add_cookie({'name':'BDUSS','value':'AAAAAAAAAAAAAAAAAAAAAAAAAA'}) # 重新整理頁面 driver.refresh() # 獲取登入使用者名稱並列印 username = driver.find_element_by_class_name("user-name").text print(username) #關閉瀏覽器 driver.quit()
首先,訪問百度首頁,處於未登入狀態。
然後,通過Selenium所提供add_cookie()方法新增Cookie資訊。
最後,重新整理頁面,現在已經是登入狀態了,獲取登入之後的使用者名稱並列印。