1. 程式人生 > >自動化測試 -- 通過Cookie跳過登入驗證碼

自動化測試 -- 通過Cookie跳過登入驗證碼

準備工具:

------------------

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資訊。

最後,重新整理頁面,現在已經是登入狀態了,獲取登入之後的使用者名稱並列印。