最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Jmeter接口測(cè)試實(shí)戰(zhàn)-Cookies

 更新時(shí)間:2023年03月14日 09:47:23   作者:測(cè)試猿廖廖  
這篇文章主要介紹了關(guān)于Jmeter接口測(cè)試實(shí)戰(zhàn)-Cookies問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

場(chǎng)景

接口測(cè)試時(shí)常都需要登錄,請(qǐng)求方式(post),登錄常用的方法有通過獲取token,獲取session,獲取cookie,等等. 這幾種都有一個(gè)共同的特點(diǎn),有效期(expires).

 Session是建立連接后session有效,斷開連接session失效, token有效期是服務(wù)端控制, cookie是用戶瀏覽訪問時(shí)被創(chuàng)建的,由服務(wù)器發(fā)送給客戶端使用,有效期長(zhǎng)短和服務(wù)器相關(guān),不同的web服務(wù)器默認(rèn)值略有差異,在一個(gè)臨時(shí)會(huì)話周期內(nèi),cookie一般不會(huì)被持久化,也就是關(guān)閉瀏覽器或者退出登錄cookie失效.

如何獲取token, 我們之前的推文(Jmeter接口測(cè)試-正則表達(dá)式)里已經(jīng)介紹過,今天來講cookie,使用cookie既然有有效期,那退出或者其他情況使cookie失效了,在接口測(cè)試腳本中要一直去修改為最新的cookie,不是很惱人的一件事情嗎?  有沒有辦法一勞永逸呢,答案是肯定的.

實(shí)戰(zhàn)

還是從實(shí)例入手, 首先我們找一個(gè)已經(jīng)跑通的接口(原先cookie獲取是在自定義變量里寫死cookie值, 然后再傳給cookie manager), 在結(jié)果樹的請(qǐng)求->request Body中查找信息

從圖中可以看出, cookie data有幾個(gè)信息組成

  • username
  • SESSION
  • SERVERID

那這些信息去哪里獲取呢?

使用chrome的開發(fā)者工具查看, 在application標(biāo)簽下很容易就能找到上述信息

有了以上這些信息,那接下來的事情就好辦了, 兩種方式添加

  • 1. http cookie manager(推薦)
  • 2. http 信息管理器

在cookie 管理中添加需要存儲(chǔ)的cookie

然后把原先用自定義變量里的cookie值刪除(寫死的cookie值), 用這個(gè)方法去獲取cookie給同域名下的其他API使用, 即可非常輕松的執(zhí)行需要登錄的API, 細(xì)心的同學(xué)會(huì)發(fā)現(xiàn) cookie data里還有username和SESSION 怎么沒用到, 我這個(gè)實(shí)例中這兩個(gè)不用也可以正常執(zhí)行, 如果有需要自行加上即可, 至此有趣的cookie可一勞永逸的使用, 不必再為cookie過期而煩惱了, 不知道你學(xué)會(huì)了沒有, 在實(shí)際測(cè)試場(chǎng)景中,類似這樣的問題時(shí)常困擾著我們, 如何巧妙的使用方法去解決(偷懶法則), 學(xué)會(huì)偷懶的技術(shù)工程師才是一個(gè)合格的工程師.

一、jmeter的http cookies管理器使用

作用:

1 發(fā)送請(qǐng)求,經(jīng)常要校驗(yàn)cookies信息

2 錄制的時(shí)使用的cookie管理器,只能在指定的域下面使用,如果服務(wù)器地址切換,發(fā)現(xiàn)發(fā)送請(qǐng)求時(shí),就會(huì)出現(xiàn)no cookies

使用方法:

1 使用badboy錄制的腳本都帶了cookie管理器

2 使用jmeter的代理錄制腳本,提前設(shè)置好cookie管理器再進(jìn)行錄制

3 自己設(shè)置cookie管理器

前兩種的cookie管理器都有域名的限制,有時(shí)需要自己進(jìn)行修改

我一般使用代理錄制腳本,自己添加cookie管理器的方式進(jìn)行

步驟:

1 錄制腳本

2 修改cookie管理器,如果沒有域名切換的話,可以不用自己配置的

1)使用開發(fā)者工具,或者firefox的firebug插件獲取cookie信息。建議使用firebug這個(gè)配置和jmeter幾乎一樣。據(jù)說可以直接導(dǎo)入到j(luò)meter,但是我沒有導(dǎo)入成功,就自己配置了。

下面是開發(fā)者工具所看到的cookie信息

并不是所有的都需要配置發(fā)送到服務(wù)器。我的只配置了sf_session就ok了

域就是服務(wù)器的ip

這樣后面發(fā)送的所有請(qǐng)求都會(huì)自帶上這個(gè)cookie信息。

這里面的cookie可以通過正則表達(dá)式進(jìn)行提起,設(shè)置成變量

二、jmeter的http cookies管理器使用

Cookie管理器,會(huì)默認(rèn)把服務(wù)端返回的cookie數(shù)據(jù)記錄下來

步驟:

1 先添加http cookie管理器,這時(shí)jmeter就會(huì)自動(dòng)記錄下服務(wù)端返回的cookie信息

由于數(shù)據(jù)是保存在cookie里面,沒法通過正則表達(dá)式去提取

2 其實(shí)這個(gè)時(shí)候,jmeter發(fā)送請(qǐng)求,會(huì)默認(rèn)把cookie信息帶上,能解決大部分問題

3 但是我們這時(shí)又想用到cookie里面的某一個(gè)值的時(shí)候,就需要修改jmeter的設(shè)置了

在jmeter的安裝bin路徑下,

修改:jmeter.properties

#CookieManager behaviour - should Cookies be stored as #variables?
#Default is false
CookieManager.save.cookies=true //這個(gè)把前面的#去掉,

4 調(diào)用cookie里面某一個(gè)值

${COOKIE_某一個(gè)值名稱}

如上面的 sf_session就可以直接用${COOKIE_sf_session}調(diào)用。和自定義變量完全一樣

注意點(diǎn):必須是請(qǐng)求服務(wù)端以后,cookie管理器里面才會(huì)有數(shù)據(jù),一般是登陸時(shí)服務(wù)端返回會(huì)帶回cookie。之前cookie會(huì)一直為空

下面是我demo的截圖

提取成功圖片:

  • 前置bs沒有cookie值
  • 后置的bs有了cookie值

三、jmeter直接用cookie管理器保存登錄后的cookie信息

最近遇到的問題是,登錄需要驗(yàn)證碼,驗(yàn)證碼每次都變且無規(guī)律,所以錄制登錄接口就沒辦法錄制了。

于是就想著能不能直接在cookie管理器中保存我登錄后的信息,其他接口直接調(diào)用這個(gè)參數(shù)呢?經(jīng)過試驗(yàn),有的系統(tǒng)可以,有的不可以,不可以的還沒找到原因和解決辦法,先寫可以使用的步驟吧。

1、打開火狐瀏覽器,登錄要保存cookie信息的網(wǎng)頁(yè)并登錄成功;

2、打開調(diào)試模式,切換到存儲(chǔ),打開cookie,然后右側(cè)紅框區(qū)域內(nèi)的所有數(shù)據(jù)就是cookie信息;

3、把這個(gè)表里的所有數(shù)據(jù)的名稱、域名、路徑、值都一一寫到cookie管理器里,如下圖jmeter的這個(gè)位置 

4、然后,在jmeter中,添加http請(qǐng)求,把cookie管理器中的這些參數(shù),都當(dāng)成參數(shù)傳過去,假如cookie管理器中只有一個(gè)參數(shù)JSESSIONID,寫接口時(shí),就需要把JSESSIONID當(dāng)成一個(gè)參數(shù)傳過去,如下圖 

5、這樣就可以不需要登錄,直接調(diào)用登錄的cookie信息了 

四、個(gè)人自己操作實(shí)例

1、谷歌瀏覽器打開調(diào)試,然后提交登錄,獲取session

 2、添加HTTP Cookie管理器,把session添加進(jìn)去: 

 3、添加響應(yīng)斷言 

 4、執(zhí)行,返回custname_0表示成功,custname_2表示失敗 

 新增客商有規(guī)則需要校驗(yàn),導(dǎo)致提交重復(fù)信息會(huì)失敗,只有第一次才會(huì)成功  

注意:如果是在同一個(gè)線程組,根本不需要添加兩個(gè)cookies的參數(shù)值,只需要添加一個(gè)無參數(shù)值的空的http cookie管理器,去掉下圖的兩個(gè)SESSIONID變量值 

下面是增加權(quán)限的截圖: 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA下lombok安裝及找不到get,set的問題的解決方法

    IDEA下lombok安裝及找不到get,set的問題的解決方法

    這篇文章主要介紹了IDEA下lombok安裝及找不到get,set的問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Spring Boot整合QueryDSL的實(shí)現(xiàn)示例

    Spring Boot整合QueryDSL的實(shí)現(xiàn)示例

    這篇文章主要介紹了Spring Boot整合QueryDSL的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot集成Redis實(shí)現(xiàn)消息隊(duì)列的方法

    SpringBoot集成Redis實(shí)現(xiàn)消息隊(duì)列的方法

    這篇文章主要介紹了SpringBoot集成Redis實(shí)現(xiàn)消息隊(duì)列的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 老生常談Java網(wǎng)絡(luò)編程TCP通信(必看篇)

    老生常談Java網(wǎng)絡(luò)編程TCP通信(必看篇)

    下面小編就為大家?guī)硪黄仙U凧ava網(wǎng)絡(luò)編程TCP通信(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • java一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式

    java一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式

    這篇文章主要給大家介紹了關(guān)于java一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式的相關(guān)資料,經(jīng)測(cè)試確認(rèn),當(dāng)一個(gè)接口有多個(gè)實(shí)現(xiàn)時(shí),調(diào)用時(shí)只會(huì)執(zhí)行一個(gè),有時(shí)候需要多個(gè)實(shí)現(xiàn)調(diào)用,需要的朋友可以參考下
    2023-09-09
  • 詳解Springboot配置文件的使用

    詳解Springboot配置文件的使用

    在springboot項(xiàng)目中,也可以使用yml類型的配置文件代替properties文件。接下來通過本文給大家分享Springboot配置文件的使用,感興趣的朋友一起看看吧
    2017-07-07
  • idea中文件被Mark as Plain Text后恢復(fù)方式

    idea中文件被Mark as Plain Text后恢復(fù)方式

    在IntelliJ IDEA中,如果錯(cuò)誤地將文件標(biāo)記為純文本(Mark as Plain Text),可以通過在項(xiàng)目目錄中右鍵點(diǎn)擊文件并選擇“Mark as”來恢復(fù)原文件類型
    2024-11-11
  • SpringCloud openfeign相互調(diào)用實(shí)現(xiàn)方法介紹

    SpringCloud openfeign相互調(diào)用實(shí)現(xiàn)方法介紹

    在springcloud中,openfeign是取代了feign作為負(fù)載均衡組件的,feign最早是netflix提供的,他是一個(gè)輕量級(jí)的支持RESTful的http服務(wù)調(diào)用框架,內(nèi)置了ribbon,而ribbon可以提供負(fù)載均衡機(jī)制,因此feign可以作為一個(gè)負(fù)載均衡的遠(yuǎn)程服務(wù)調(diào)用框架使用
    2022-11-11
  • SWT(JFace)體驗(yàn)之Icon任我變

    SWT(JFace)體驗(yàn)之Icon任我變

    SWT(JFace)體驗(yàn)之Icon任我變
    2009-06-06
  • Java如何調(diào)用HTTP接口

    Java如何調(diào)用HTTP接口

    本文介紹了Java調(diào)用HTTP接口的方法,包括使用HttpURLConnection和HttpClient工具,作者分享了個(gè)人經(jīng)驗(yàn),并鼓勵(lì)讀者參考和支持
    2025-01-01

最新評(píng)論

文登市| 方城县| 新安县| 青铜峡市| 斗六市| 樟树市| 托克逊县| 垫江县| 滁州市| 乃东县| 东丽区| 三门县| 蒲江县| 江津市| 渭南市| 中超| 穆棱市| 沂源县| 江永县| 红河县| 棋牌| 芮城县| 繁昌县| 铜陵市| 卢龙县| 古交市| 鞍山市| 棋牌| 汕头市| 来宾市| 永善县| 四川省| 嘉荫县| 晴隆县| 贵州省| 西平县| 万载县| 炉霍县| 扶绥县| 昌黎县| 滨海县|