Selenium 如何復用瀏覽器【解決掃碼登錄等問題】


Selenium中復用已經打開的瀏覽器進行自動化測試,可以輔助我們解決某些登錄需要掃二維碼之后,才能進行的操作

如果是使用的谷歌Chrome瀏覽器,那需要做哪些准備操作呢?往下看

1、windows和Mac上使用命令啟動一個Debug監聽端口的瀏覽器

windows上命令如下:
chrome --remote-debugging-port=9222

Mac上命令如下:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222

如果已經把谷歌瀏覽器的路徑加入到環境變量中,可以使用

Google\ Chrome --remote-debugging-port=9222

來啟動,啟動后的終端界面如下:

2、啟動好瀏覽器之后,只是做好了第一步,那在代碼中,我們該怎么寫呢,接着往下看

在測試類的setup方法中,我們實例化一個Options()對象,配置Options()對象的debugger_address
接着創建一個driver,並使用他的options參數,將Options()對象傳入進去

之后,我們就可以在啟動的瀏覽器上運行我們的測試代碼了。

如果是在pageobject設計模式下,就在basepage基礎頁面對象初始化 時,將Options對象創建,配置調試端口

image


2021-6-19 看資料發現解決掃碼登錄還有一個新的方法,待補充【通過獲取當前瀏覽器cookie的方式】

1、以企業微信的后台管理登錄為例,使用新的瀏覽器,打開登錄掃碼頁面,強制等待10秒手動完成掃碼,掃碼進入管理后台

image
image

2、登錄后,在代碼中使用driver返回當前頁面的cookies值,並保存為json文件

image
image

3、后續的測試用例,可以使用新保存的cookie,添加在driver中即可

image
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM