您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java接口測試Cookie與token原理是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java接口測試Cookie與token原理是什么”吧!
一、Cookie與token機(jī)制測試
Cookie與Session
token機(jī)制
cookie/session機(jī)制需要在服務(wù)端保存大量的session信息,造成嚴(yán)重負(fù)擔(dān),而token機(jī)制則避免記錄大量信息,采用服務(wù)器簽發(fā)的token完成驗(yàn)證。
1、客戶端使用用戶名跟密碼請(qǐng)求登錄
2、服務(wù)端收到請(qǐng)求,去驗(yàn)證用戶名與密碼
3、驗(yàn)證成功后,服務(wù)端會(huì)簽發(fā)一個(gè) Token,再把這個(gè) Token 發(fā)送給客戶端
4、客戶端收到 Token 以后可以把它存儲(chǔ)起來,比如放在 Cookie 里或者 Local Storage 里
5、客戶端每次向服務(wù)端請(qǐng)求資源的時(shí)候需要帶著服務(wù)端簽發(fā)的 Token
6、服務(wù)端收到請(qǐng)求,然后去驗(yàn)證客戶端請(qǐng)求里面帶著的 Token,如果驗(yàn)證成功,就向客戶端返回請(qǐng)求的數(shù)據(jù)
相當(dāng)于酒店在你入住之后,給你一段暗號(hào),之后再來酒店,報(bào)暗號(hào)就可以入住了。
Cookie與token測試
加載與清空cookieStore
Httpclient提供了cookieStore類用于加載和讀取cookies。
通過private CookieStore cookies = new BasicCookieStore();創(chuàng)建cookieStore
在構(gòu)建httpclient時(shí)通過.setDefaultCookieStore(cookies)方法加載。
也可以通過添加頭域Cookie的方式來添加Cookie。
通過一個(gè)布爾類型的標(biāo)識(shí)參數(shù)來決定是否需要加載cookies。
添加token到請(qǐng)求頭域
token通常在頭域中被添加,當(dāng)需要添加頭域參數(shù)時(shí),通過布爾類型的標(biāo)識(shí)參數(shù)來決定是否設(shè)置新的頭域。
通過setHeader方法完成頭域的添加。
二、頭域添加與參數(shù)傳遞
頭域操作
為了方便頭域信息鍵值對(duì)的傳遞和反復(fù)使用,并且方便方法封裝時(shí)調(diào)用。使用map來保存頭域信息的鍵值對(duì),并通過循環(huán)遍歷將頭域headermap中的內(nèi)容添加到http請(qǐng)求中使用。
參數(shù)傳遞
Httpclient方法封裝
為了便于頭域的管理和方法反復(fù)調(diào)用,將存儲(chǔ)頭域的map作為關(guān)鍵字類的成員變量,通過布爾變量來控制方法是否需要添加頭域。
并設(shè)計(jì)方法實(shí)現(xiàn)該成員變量map賦值和清空。
同理,cookiestore也通過類似機(jī)制來管理是否需要使用cookie。
三、關(guān)鍵字需求封裝
完成httpclientkw類的封裝之后,發(fā)包流程的操作已經(jīng)封裝完成,基本操作已實(shí)現(xiàn),接下來封裝測試過程中的需求,以完成測試操作。
關(guān)鍵字需求封裝
斷言實(shí)現(xiàn)
將每次發(fā)包方法調(diào)用返回結(jié)果賦值給成員變量response,針對(duì)response進(jìn)行斷言操作。
頭域參數(shù)json格式轉(zhuǎn)換
為便于頭域參數(shù)的管理,將頭域參數(shù)寫為json格式,通過json轉(zhuǎn)換為map,再傳遞給HttpclientKw的addheader方法操作。
感謝各位的閱讀,以上就是“Java接口測試Cookie與token原理是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java接口測試Cookie與token原理是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。