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作為關鍵字類的成員變量,通過布爾變量來控制方法是否需要添加頭域。并設計方法實現該成員變量map賦值和清空。
同理,cookiestore也通過類似機制來管理是否需要使用cookie。
三、關鍵字需求封裝
完成httpclientkw類的封裝之后,發包流程的操作已經封裝完成,基本操作已實現,接下來封裝測試過程中的需求,以完成測試操作。
關鍵字需求封裝
斷言實現
將每次發包方法調用返回結果賦值給成員變量response,針對response進行斷言操作。
頭域參數json格式轉換
為便于頭域參數的管理,將頭域參數寫為json格式,通過json轉換為map,再傳遞給HttpclientKw的addheader方法操作。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. phpstudy apache開啟ssi使用詳解2. 在JSP中使用formatNumber控制要顯示的小數位數方法3. 存儲于xml中需要的HTML轉義代碼4. jsp網頁實現貪吃蛇小游戲5. MyBatis JdbcType 與Oracle、MySql數據類型對應關系說明6. CentOS郵件服務器搭建系列—— POP / IMAP 服務器的構建( Dovecot )7. .NET SkiaSharp 生成二維碼驗證碼及指定區域截取方法實現8. ASP中if語句、select 、while循環的使用方法9. ASP中實現字符部位類似.NET里String對象的PadLeft和PadRight函數10. 利用CSS制作3D動畫
