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來越過需要授權這一步,這樣才能在瀏覽器里正常開啟。