Jmeter用于接口測試中,關聯如何實現

Jmeter用于接口測試時,后一個接口經常需要用到前一次接口返回的結果,應該如何獲取前一次請求的結果值,應用于后一個接口呢,拿一個登錄的例子來說明如何獲取。

1、打開jmeter, 使用的3.3的版本,新建一個測試計劃,在測試計劃里新建一個線程組,新建一個登錄的http請求,如圖所示:

2、查看登錄返回的結果:

?3、充值接口需登錄后才能操作,此時可以使用cookie方式,驗證此用戶已經登錄,在充值接口里添加cookie管理器:

?

這里的sign就是上一個登口接口返回的sign值,

4、在登錄請求下新建一個后置處理器,提取返回結果值:

?

?5、查看接口運行結果:

?

總結: 以上就是jmeter的關聯實現,如果有其他的接口需要前一次請求的結果,也可以添加的后置處理器提取變量,作用于后一個接口中,實現參數動態變化。?

關于正則表達式的舉例說明:

  1、提取單個字符串:
    假如想匹配Web頁面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。一個合適的正則表達式:name = "file" value = "(.+?)">。
      ():封裝了待返回的匹配字符串。
      .:匹配任何單個字符串。
      +:一次或多次。
      ?:不要太貪婪,在找到第一個匹配項后停止。

  2、提取多個字符串:
    假如想匹配Web頁面的如下部分:name = "file.name" value = "readme.txt">并提取file.name和readme.txt。一個合適的正則表達式:name = "(.+?)" value = "(.+?)"。這樣就會創建2個組,分別用于$1$和$2$

  比如:

    引用名稱:MYREF
    模板:$1$$2$

   如下變量的值將會被設定:
    MYREF:     file.namereadme.txt
    MYREF_g0:  ?name = "file.name"value = "readme.txt"
    MYREF_g1:  file.name
    MYREF_g2:  readme.txt

  在需要引用地方可以通過:${MYREF}, ${MYREF_g1進行使用。

當請求之間有依賴關系,比如一個請求的入參是另一個請求返回的數據,這時候就需要用到關聯處理,Jmeter可以通過“后置處理器”中的“正則表達式提取器”來處理關聯。

簡單的關聯

比如在訪問百度首頁時響應數據里面有一個title

<title>百度一下,你就知道</title> 我就想在其他的請求中引用這個title

添加正則表達式提取器并設置如下:

添加一個關聯請求來驗證這個關聯:

?執行后我們看到關聯成功了

復雜一點的關聯,像取正則表達式結果里面多個值

比如一個請求的響應數據如下:

?

我們嘗試來提取0.0,84956.0,1019,3這四個數據,添加正則表達式提取器做如下設置

引用名稱:    引用名稱和引用的方法,不用多解釋,和變量參數化差不多。

正則表達式:   凡是要被引用的部分都替換成圓括號,括號內具體的表達式您可以單獨查閱正則表達式相關的知識。

模板:      代表從正則表達式結果引用的樣式,其實結果是一組,而不是一個。$0$代表這一組結果的全部,$1$代表這一組結果的第1個,以此類推;

         $1$$2$代表該正則表達式一組結果中的第1個和第2個,倆結果挨在一起中間沒有間隔;

         $3$,$4$代表該正則表達式一組結果中的第3個和第4個,倆結果間有一個逗號相連。

匹配數字:    0代表正則表達式結果組中隨機,1代表全部。

缺省值:     當引用不對時顯示傳遞的信息,通暢寫一個ERROR。

如上設置好正則表達式提取器后,我們可以添加一個被關聯的驗證請求,如下:

事實上,myref_g0,myref_g1...myref_g4 是正則表達式的結果組,而myref才是被模板控制提取出來結果,這里為了更清晰的觀察正則表達式的結果組才在驗證請求中添加這么多參數,實際使用是用一個myref和模板配合就可以了。

myref_g0={"rent":0.0,"price":84956.0,"totalprice":1019,"roomType":3}

myref_g1=0.0

myref_g2=84956.0

myref_g3=1019

myref_g4=3

1. 模板 $0$

2.模板$1$$2$

?3.模板$3$,$4$

?另外對于匹配數字,目前我只看到 0和1,取其他整數的情況也許還有,那一定是更復雜一點的情況,目前0或1對我來說已經夠用了,以后遇到其他情況再來更新吧。 

最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走!

軟件測試面試文檔

我們學習必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節等一線互聯網大廠最新的面試資料,并且有字節大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207935.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207935.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207935.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

acme.sh自動配置免費SSL泛域名證書并續期(Aliyun + Debian + nginx)

acme.sh自動配置免費SSL泛域名證書并續期&#xff08;Aliyun Debian nginx&#xff09; 以前使用Certbot自動配置SSL證書&#xff0c;需要安裝snap管理器再安裝Certbot&#xff0c;期間還要去找AliDNS腳本&#xff0c;比較麻煩。如果不想如此&#xff0c;推薦使用acme.sh自動…

maven學習筆記總結

目錄 一、maven簡介 二、GAVP屬性 三、基于 IDLE 的 Maven 工程創建 1&#xff09;java標準工程&#xff08;Javase&#xff09;的創建 2&#xff09;java企業工程&#xff08;Javaee&#xff09;的創建 a&#xff09;手動創建 b&#xff09;插件方式創建&#xff08;fil…

數據結構與算法(六)分支限界法(Java)

目錄 一、簡介1.1 定義1.2 知識回顧1.3 兩種解空間樹1.4 三種分支限界法1.5 回溯法與分支線定法對比1.6 使用步驟 二、經典示例&#xff1a;0-1背包問題2.1 題目2.2 分析1&#xff09;暴力枚舉2&#xff09;分支限界法 2.3 代碼實現1&#xff09;實現廣度優先策略遍歷2&#xf…

力扣題:字符的統計-12.4

力扣題-12.4 [力扣刷題攻略] Re&#xff1a;從零開始的力扣刷題生活 力扣題1&#xff1a;657. 機器人能否返回原點 解題思想&#xff1a;進行統計即可 class Solution(object):def judgeCircle(self, moves):""":type moves: str:rtype: bool""&qu…

GeoPandas初體驗:它是什么,我用它展示一下shp矢量數據

GeoPandas 是一個開源的 Python 庫&#xff0c;用于處理地理空間數據。它擴展了 Pandas 這個流行的 Python 數據操作庫&#xff0c;增加了對地理數據類型和操作的支持。GeoPandas 結合了 Pandas、Matplotlib 和 Shapely 的功能&#xff0c;提供了一個易于使用且高效的工具&…

c語言實例:計算并輸出一個整數數組的平均值

大家好&#xff0c;今天給大家介紹一個c語言實例&#xff1a;計算并輸出一個整數數組的平均值&#xff0c;文章末尾附有分享大家一個資料包&#xff0c;差不多150多G。里面學習內容、面經、項目都比較新也比較全&#xff01;可進群免費領取。 以下是一個使用C語言實現的實例&am…

Day18——JDK新特性

1.JDK8的新特性 1.1 Lambda表達式 1.1.1 舉例 public class LambdaTest {Testpublic void test1(){Runnable r1 new Runnable() {Overridepublic void run() {System.out.println("test1");}};r1.run();//Lambda表達式的寫法Runnable r2 () ->{System.out.pr…

怎么將用戶引流到你的私域中?

微信私域運營是一種利用微信平臺建立與用戶深度聯系的營銷方式&#xff0c;可在私域中觸達并服務用戶。 那么如何將在將用戶引流至你的私域中呢&#xff1f; 可以從以下幾個小方法入手。 ①打造一個吸引人的個人品牌形象非常重要。在社交媒體上展示真實、獨特、專業的一面&a…

喜訊!云起無垠上榜《成長型初創企業推薦10強》

近期&#xff0c;由中國計算機學會抗惡劣環境計算機專業委員會、信息產業信息安全測評中心和安全牛聯合發起的第十一版《中國網絡安全企業100強》榜單正式發布。在這份備受關注的榜單中&#xff0c;云起無垠憑借其創新的技術能力&#xff0c;榮登《成長型初創企業推薦10強》榜單…

網絡知識學習(筆記三)(傳輸層的TCP)

前面已經介紹了傳輸層的UDP協議的報文以及一下相關的知識點&#xff0c;本次主要是傳輸層的TCP協議&#xff0c;包括TCP報文的詳細介紹&#xff1b;可靠傳輸、流量控制、擁塞控制等&#xff1b;建立連接、釋放連接。 一、TCP基本知識點介紹 1.1、TCP協議的幾個重要的知識點 …

網安領域含金量最高的證書有哪些?看這1篇就足夠了!

文章目錄 一、前言二、CISP三、CISAW四、NISP五、為什么很多人考不下來 一、前言 現在想找網絡安全之類的工作&#xff0c;光有技術是不夠的&#xff0c;還得有東西證明自己&#xff0c;網安三大敲門磚&#xff1a;CTF、漏洞證明和專業證書。 對于CTF的話只是少數人能參加的&…

12月08日,每日信息差

以下是2023年12月08日的12條信息差 第一、英國大宗商品經紀商Marex準備在美國上市 第二、阿里云通義千問登頂HuggingFace排行榜。據了解&#xff0c;HuggingFace的開源大模型排行榜收錄了全球上百個開源大模型&#xff0c;測試維度涵蓋閱讀理解、邏輯推理、數學計算、事實問答…

Gateway:微服務架構中的關鍵組件

Gateway&#xff1a;微服務架構中的關鍵組件 在微服務架構的世界中&#xff0c;Gateway&#xff08;網關&#xff09;扮演著至關重要的角色。它不僅作為流量的入口&#xff0c;還提供路由、鑒權、監控等多種功能。本博客將詳細介紹Gateway的概念、功能以及如何在實際項目中使用…

數據庫基礎概念與范式反范式總結

文章目錄 一、基本概念1、屬性2、元組3、關系4、超鍵5、候選鍵6、主鍵7、主屬性8、外鍵9、函數依賴完全依賴 二、數據庫范式1、第一范式&#xff08;1NF&#xff09;2、第二范式&#xff08;2NF&#xff09;3、第三范式&#xff08;3NF&#xff09;4、巴斯-科德范式&#xff08…

uc_14_IP地址_套接字_字節序轉換

1 計算機網絡 計算機網絡&#xff0c;是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備&#xff0c;通過通信線路連接起來&#xff0c;在網絡操作系統、網絡管理軟件及網絡通信協議的管理和協調下&#xff0c;實現資源共享和信息傳遞的計算機系統。 網絡協議是一種特…

C語言文本模式和二進制模式

前言 本篇文章介紹一下C語言的文本模式和二進制模式 文本文件和二進制文件 從宏觀上看&#xff0c;無論是文本文件還是二進制文件&#xff0c;文件中保存的都是0和1的序列&#xff0c;因為磁盤只有這兩種狀態。不同的文件只是對0、1序列的解釋不同&#xff0c;如果文件內容是…

AtCoder ABC周賽2023 11/4 (Sat) E題題解

目錄 原題截圖&#xff1a; 原題翻譯 題目大意&#xff1a; 主要思路&#xff1a; 代碼&#xff1a; 原題截圖&#xff1a; 原題翻譯 題目大意&#xff1a; 給你一個數組&#xff0c;給你一個公式&#xff0c;讓你選k個元素&#xff0c;用公式算出最終得分。 主要思路&am…

X86匯編語言:從實模式到保護模式(代碼+注釋)--c6

X86匯編語言&#xff1a;從實模式到保護模式&#xff08;代碼注釋&#xff09;–c6 標志寄存器FLAGS&#xff1a; 6th&#xff1a;ZF位&#xff08;Zero Flag&#xff09;&#xff1a;零標志&#xff0c;執行算數或者邏輯運算之后&#xff0c;會將該位置位。10th&#xff1a;D…

安全運營 -- 100個藍隊溯源技巧(逐步更新)

0x00 背景 記錄一些常用的入侵排查命令和日常運維思路分享。(排名不分先后,逐步更新ing) 0x01 linux 查詢所有用戶計劃任務 cat /etc/passwd|cut -f 1 -d : |xargs -I {} crontab -l -u {} 0x02 排查linux記錄密碼后門 strace 監聽ssh來源流量記錄密碼后門(本機輸入的密碼記…

Shell數組函數:數組——數組和循環(三)

數組統計性別 一、定義性別文件 [root192 ~]# vim sex.txt jack m alice f tom m 二、定義腳本統計性別 [root192 ~]# vim sex.sh #!/bin/bash declare -A sex while read line dotypeecho $line | awk {print $2}let sex[$type] done < sex.txtfor i in ${!sex[]} doecho…