Java介面測試Cookie與token原理解析
一、Cookie與token機制測試
Cookie與Session
token機制
cookie/session機制需要在服務端儲存大量的session資訊,造成嚴重負擔,而token機制則避免記錄大量資訊,採用伺服器簽發的token完成驗證。
1、客戶端使用使用者名稱跟密碼請求登入
2、服務端收到請求,去驗證使用者名稱與密碼
3、驗證成功後,服務端會簽發一個 Token,再把這個 Token 傳送給客戶端
4、客戶端收到 Token 以後可以把它儲存起來,比如放在 Cookie 裡或者 Local Storage 裡
5、客戶端每次向服務端請求資源的時候需要帶著服務端簽發的 Token
6、服務端收到請求,然後去驗證客戶端請求裡面帶著的 Token,如果驗證成功,就向客戶端返回請求的資料
相當於酒店在你入住之後,給你一段暗號,之後再來酒店,報暗號就可以入住了。
Cookie與token測試
載入與清空cookieStore
Httpclient提供了cookieStore類用於載入和讀取cookies。
通過private CookieStore cookies = new BasicCookieStore();建立cookieStore
在構建httpclient時通過.setDefaultCookieStore(cookies)方法載入。
也可以通過新增頭域Cookie的方式來新增Cookie。
通過一個布林型別的標識引數來決定是否需要載入cookies。
新增token到請求頭域
token通常在頭域中被新增,當需要新增頭域引數時,通過布林型別的標識引數來決定是否設定新的頭域。
通過setHeader方法完成頭域的新增。
二、頭域新增與引數傳遞
頭域操作
為了方便頭域資訊鍵值對的傳遞和反覆使用,並且方便方法封裝時呼叫。使用map來儲存頭域資訊的鍵值對,並通過迴圈遍歷將頭域headermap中的內容新增到http請求中使用。
引數傳遞
Httpclient方法封裝
為了便於頭域的管理和方法反覆呼叫,將儲存頭域的map作為關鍵字類的成員變數,通過布林變數來控制方法是否需要新增頭域。
同理,cookiestore也通過類似機制來管理是否需要使用cookie。
三、關鍵字需求封裝
完成httpclientkw類的封裝之後,發包流程的操作已經封裝完成,基本操作已實現,接下來封裝測試過程中的需求,以完成測試操作。
關鍵字需求封裝
斷言實現
將每次發包方法呼叫返回結果賦值給成員變數response,針對response進行斷言操作。
頭域引數json格式轉換
為便於頭域引數的管理,將頭域引數寫為json格式,通過json轉換為map,再傳遞給HttpclientKw的addheader方法操作。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。