Java接口測試Cookie與token原理解析
一、Cookie與token機制測試

Cookie與Session
token機制
cookie/session機制需要在服務(wù)端保存大量的session信息,造成嚴重負擔,而token機制則避免記錄大量信息,采用服務(wù)器簽發(fā)的token完成驗證。
1、客戶端使用用戶名跟密碼請求登錄
2、服務(wù)端收到請求,去驗證用戶名與密碼
3、驗證成功后,服務(wù)端會簽發(fā)一個 Token,再把這個 Token 發(fā)送給客戶端
4、客戶端收到 Token 以后可以把它存儲起來,比如放在 Cookie 里或者 Local Storage 里
5、客戶端每次向服務(wù)端請求資源的時候需要帶著服務(wù)端簽發(fā)的 Token
6、服務(wù)端收到請求,然后去驗證客戶端請求里面帶著的 Token,如果驗證成功,就向客戶端返回請求的數(shù)據(jù)
相當于酒店在你入住之后,給你一段暗號,之后再來酒店,報暗號就可以入住了。
Cookie與token測試
加載與清空cookieStore
Httpclient提供了cookieStore類用于加載和讀取cookies。
通過private CookieStore cookies = new BasicCookieStore();創(chuàng)建cookieStore
在構(gòu)建httpclient時通過.setDefaultCookieStore(cookies)方法加載。
也可以通過添加頭域Cookie的方式來添加Cookie。
通過一個布爾類型的標識參數(shù)來決定是否需要加載cookies。
添加token到請求頭域
token通常在頭域中被添加,當需要添加頭域參數(shù)時,通過布爾類型的標識參數(shù)來決定是否設(shè)置新的頭域。
通過setHeader方法完成頭域的添加。
二、頭域添加與參數(shù)傳遞
頭域操作
為了方便頭域信息鍵值對的傳遞和反復(fù)使用,并且方便方法封裝時調(diào)用。使用map來保存頭域信息的鍵值對,并通過循環(huán)遍歷將頭域headermap中的內(nèi)容添加到http請求中使用。

參數(shù)傳遞
Httpclient方法封裝
為了便于頭域的管理和方法反復(fù)調(diào)用,將存儲頭域的map作為關(guān)鍵字類的成員變量,通過布爾變量來控制方法是否需要添加頭域。
并設(shè)計方法實現(xiàn)該成員變量map賦值和清空。
同理,cookiestore也通過類似機制來管理是否需要使用cookie。
三、關(guān)鍵字需求封裝
完成httpclientkw類的封裝之后,發(fā)包流程的操作已經(jīng)封裝完成,基本操作已實現(xiàn),接下來封裝測試過程中的需求,以完成測試操作。

關(guān)鍵字需求封裝
斷言實現(xiàn)
將每次發(fā)包方法調(diào)用返回結(jié)果賦值給成員變量response,針對response進行斷言操作。
頭域參數(shù)json格式轉(zhuǎn)換
為便于頭域參數(shù)的管理,將頭域參數(shù)寫為json格式,通過json轉(zhuǎn)換為map,再傳遞給HttpclientKw的addheader方法操作。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 如何使用會話Cookie和Java實現(xiàn)JWT身份驗證
- Java后端Cookie實現(xiàn)(時間戳)代碼實例
- Java 模擬cookie登陸簡單操作示例
- 在java中http請求帶cookie的例子
- Java 對 Cookie增刪改查的實現(xiàn)示例
- Java Web學習之Cookie和Session的深入理解
- java使用Cookie判斷用戶登錄情況的方法
- servlet之cookie簡介_動力節(jié)點Java學院整理
- JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例
- java中Servlet Cookie取不到值原因解決辦法
- JavaWeb使用Session和Cookie實現(xiàn)登錄認證
- Cookie在Java中的使用
相關(guān)文章
基于java中stack與heap的區(qū)別,java中的垃圾回收機制的相關(guān)介紹
本篇文章小編將為大家介紹,基于java中stack與heap的區(qū)別,java中的垃圾回收機制的相關(guān)介紹,需要的可以參考一下2013-04-04
如何解決java.lang.NoClassDefFoundError:Could not initi
文章講述了在Java服務(wù)器中處理圖形元素時遇到的常見問題,即需要運行X-server,通過在Tomcat/bin/catalina.sh中增加JAVA_OPTS環(huán)境變量并設(shè)置-Djava.awt.headless=true,可以解決這個問題,使服務(wù)器能夠在沒有圖形界面的情況下運行2024-11-11
淺談java String.split丟失結(jié)尾空字符串的問題
下面小編就為大家?guī)硪黄獪\談java String.split丟失結(jié)尾空字符串的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Spring Security實現(xiàn)5次密碼錯誤觸發(fā)賬號自動鎖定功能
在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,賬號安全是重中之重,然而,暴力 破解攻擊依然是最常見的安全威脅之一,攻擊者通過自動化腳本嘗試大量的用戶名和密碼組合,試圖找到漏洞進入系統(tǒng),所以為了解決這一問題,賬號鎖定機制被廣泛應(yīng)用,本文介紹了Spring Security實現(xiàn)5次密碼錯誤觸發(fā)賬號鎖定功能2024-12-12

