1. 程式人生 > 程式設計 >Java介面測試Cookie與token原理解析

Java介面測試Cookie與token原理解析

一、Cookie與token機制測試

Java介面測試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請求中使用。

Java介面測試Cookie與token原理解析

引數傳遞

Httpclient方法封裝

為了便於頭域的管理和方法反覆呼叫,將儲存頭域的map作為關鍵字類的成員變數,通過布林變數來控制方法是否需要新增頭域。

並設計方法實現該成員變數map賦值和清空。

同理,cookiestore也通過類似機制來管理是否需要使用cookie。

三、關鍵字需求封裝

完成httpclientkw類的封裝之後,發包流程的操作已經封裝完成,基本操作已實現,接下來封裝測試過程中的需求,以完成測試操作。

Java介面測試Cookie與token原理解析

關鍵字需求封裝

斷言實現

將每次發包方法呼叫返回結果賦值給成員變數response,針對response進行斷言操作。

頭域引數json格式轉換

為便於頭域引數的管理,將頭域引數寫為json格式,通過json轉換為map,再傳遞給HttpclientKw的addheader方法操作。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。