自動化測試之繞過驗證碼登錄

這幾天北京下大雨了,現在的自己已經圓滿的成爲了“北漂”,最悲催的上班不小心滑倒了,手劃到了瓷磚上,去醫院縫了好幾針,哇~ 那感覺feel倍爽 。最近出了新項目,做了一點自動化,在這裏用單手秀了一波“走位”------繞過驗證碼登錄。

在這裏總結了常見的幾種方法,僅供參考。

話不多說,開整!

方法一

去掉驗證碼。讓開發在測試版上面的驗證碼註銷掉,

方法二

萬能碼。增加萬能碼,系統只要是識別到這組碼,就能允許通過。

方法三

通過Cookie跳過登錄驗證碼

1、首先下載Fiddler。地址:鏈接:https://pan.baidu.com/s/16SqhAnG1t2HvFOwkJroW_g 密碼:1l02

2、進入fiddler,首先獲取證書,Tools-->Fiddler Options-->Https,勾選Decrypt Https traffic-----ok

3、瀏覽器進入百度首頁,點擊登錄按鈕,輸入相關信息,點擊登錄按鈕

4、在fiddler右側的Inspectors-->Cookies查看

注意:百度登錄重點查看BAIDUID和BDUSS。如果要測試其他項目,最好先詢問一下開發,哪些數據是用戶名和密碼的,或者是必需的。我們的項目主要看websid,我們因爲未完成後臺識別到websid就能登陸進去的這個功能,我只能用前兩種方法,這個最好問一下開發,所以這裏,只能用百度實踐一下。

代碼如下:

# -*- coding:utf-8 -*-

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")

# 手動添加cookie
driver.add_cookie({'name': 'BAIDUID', 'value': '46CD04C900...(2825A0E64560C87243BDAF2F6CE0F7F7:FG=1)'})
driver.add_cookie({'name': 'BDUSS', 'value': 'DBZOWVJM3ZWT0w3aDRlR3lTQzBxb2c1RnRXSH4yVzM5eEtBNFZFSX5FVFZ3SHhiQVFBQUFBJCQAAAAAAAAAAAEAAABb09~Jc3VudGFvYmFieTE5OTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANUzVVvVM1VbO'})
sleep(2)
driver.refresh()  #刷新
sleep(3)

driver.quit()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章