1. 程式人生 > 其它 >seleniumLibary 操作Cookie

seleniumLibary 操作Cookie

近期接觸了一個需要在微信端開啟的H5專案,原理是需要通過授權獲取微信的OpenId,但是OpenId其實是不會變化的,每個微訊號和對應的公眾號都有一個唯一的OpenId,所以是可以通過快取Openid到Cookie裡,實現在普通瀏覽器上瀏覽的。

百度了下,沒有對應的教程,只好跑到官方的文件,結果發現,第一個關鍵字就是新增Cookie

新增 cookie

Add Cookie

domain = 指定儲存的域名

expiry = 過期時間(可以用時間戳或者時間元)

兩者都是可選項,不輸入domain的話也是預設按照當前瀏覽的域名儲存,expiry不輸入的話,預設也會給一個很長,20年的過期時間。

寫法

Add Cookie name=user_name value=小李

這樣的話,一個key為user_name,value值為小李的資料就會快取到當前開啟的域名下。

注意,需要先開啟網頁才能新增cookie,而且如果需要指定域名,該快取的域名必須是https才能指定成功,不然的話,就別指定域名,會預設儲存到當前瀏覽的域名下。

快取cookie的作用

Cookie是由前端來儲存的,儲存的目的是一些需要儲存起來,作為下次請求後臺、或者頁面展示需要的資料。

比如token、user_name等等一些使用者資訊。

又或者一些使用者搜尋記錄,有時候如果不需要入庫,也會選擇快取在前端,這樣也不會增加伺服器壓力。

UI自動化測試中新增cookie的意義

我們自己提前新增cookie的意義有很多,比如說我要同時多開多個視窗,那這個時候如果你每次都去執行登陸動作獲取token,那是不是很浪費時間?而且有些測試用例是不需要執行登陸行為的。

那麼我們這個時候選擇提前新增一個token到cookie裡,其實就是節省了一部分操作,而且也加快了用例執行資料。

又比如我現在這個需要在微信端開啟獲取openid的專案,因為其實openid是固定的,所以也可以通過插入到cookie來越過需要授權這一步,這樣才能在瀏覽器里正常開啟。