1. 程式人生 > >web時cookie處理

web時cookie處理

1、cookie和session
訪問網站時用到的http協議:特徵:無狀態的連線。cookie和session用來記錄訪問過程中的狀態。
token其實也是同樣的機制。
cookie就是服務端在與客戶端建立連線之後,傳送給客戶端的一個資訊。
瀏覽器拿到cookie之後會儲存在本地。
session相當於酒店記錄的你的入住資訊,儲存在服務端。
cookie和session都是由伺服器生成的,只不過cookie儲存在瀏覽器本地,而session儲存在服務端。
瀏覽器會自動儲存cookie是瀏覽器的機制,而大部分的介面測試工具需要自己新增cookie。

使用token的時候,服務端並不記錄相應的session資訊,而是通過token的校驗機制,可以省掉服務端很多資源消耗。
token在使用的時候,通常是通過cookie儲存下來,並且在請求時傳送給服務端進行校驗的。
web自動化使用瀏覽器的時候,不需要關注究竟如何使用token和cookie的,瀏覽器會自動進行處理,而在介面呼叫的時候,就需要關注究竟使用的是何種方式傳遞token。

2、cookie中的重要屬性:
1、name value 鍵和值
2、domain path 聯合起來規定cookie的作用範圍,在酒店當中可以使用哪些東西
3、expires:生命週期,規定了cookie的有效時間,如果想用cookie去實現登入狀態的話,一定要保證cookie的有效時間內進行訪問。

3、web自動化中如何繞過驗證碼完成登入,訪問登入後的功能:
1、讓開發去掉驗證碼的驗證,萬能的驗證碼
2、如果網站訪問時,cookie的有效時間不僅侷限於當前的一次session,可以使用cookie來完成登入
通過載入瀏覽器的使用者檔案,讓瀏覽器自動帶上cookie進行網頁的訪問。
3、在自動化指令碼中設定一個等待時間,手動完成登入
4、用第三方的工具識別圖片驗證碼

4、當用selenium去載入cookie時,需要首先訪問一次待訪問的頁面,否則會報錯。
載入cookie用到的cookie類是selenium包中的。

當使用webdriver啟動一個瀏覽器時,相當於啟動了一個無痕模式的瀏覽器,不帶任何cookie和使用者資訊。

5、不同的瀏覽器載入使用者配置檔案使用的路徑不同,因此也要使用不同的瀏覽器版本方法來載入對應的使用者檔案。
chrome中使用chromeoption新增一個屬性–user-data-dir={你的chrome瀏覽器的使用者檔案路徑}
使用使用者檔案載入cookie的時候,要注意不要手動開啟瀏覽器,否則會因為使用者配置檔案被多個程序使用而報錯。