Jmeter怎么實現接口關聯?


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

1、打開jmeter,新建一個測試計劃,在測試計劃里新建一個線程組,新建一個登錄的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 1 1和 2 2 2

比如:

引用名稱:MYREF

模板: 1 1 1 2 2 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 添加正則表達式提取器并設置如下:

圖片

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

圖片

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

圖片

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

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

圖片

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

圖片

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

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

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

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

3 3 3, 4 4 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 00

圖片

2.模板 1 1 1 2 2 2


3.模板 3 3 3, 4 4 4

另外對于匹配數字,目前我只看到 0和1,取其他整數的情況也許還有,那一定是更復雜一點的情況。

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

這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!?

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

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

相關文章

將所有圖片居中對齊

Ctrl h 調出替換框 ^g表示所有圖片 格式里面選擇段落 全部替換

winlogbeat采集windows日志

下載鏈接 https://www.elastic.co/cn/downloads/past-releases/winlogbeat-7-16-2 配置文件 # ---------------------------- Elasticsearch Output ---------------------------- output.elasticsearch:# Array of hosts to connect to.hosts: ["192.168.227.160:9200&…

Vue3中如何響應式解構 props

目錄 1,前言2,解決2.1,利用插件,實現編譯時轉換2.2,toRef 和 toRefs 1,前言 Vue3 中為了保持響應性,始終需要以 props.x 的方式訪問這些 prop。這意味著不能夠解構 defineProps 的返回值&#…

Navicat 技術指引 | 適用于 GaussDB 的數據遷移工具

Navicat Premium(16.2.8 Windows版或以上) 已支持對 GaussDB 主備版的管理和開發功能。它不僅具備輕松、便捷的可視化數據查看和編輯功能,還提供強大的高階功能(如模型、結構同步、協同合作、數據遷移等),這…

Cesium 展示——地球以及渲染數據導出(下載)為圖片或 pdf

文章目錄 需求分析新加需求分析第一種方式第二種方式需求 將 Cesium 球體以及渲染數據導出為 jpg/png/pdf 分析 獲取場景 scene 信息,轉為image 的 octet-stream 流 進行下載為圖片 /*** @todo canvas 導出圖片* @param {string} dataurl - 地址* @return {Blob}*/ functio…

Failed to resolve import “@/..“ from “src/...“ @找不到路徑

安裝path npm install --save-dev types/node再修改 vite.config.ts 中的配置即可 import { defineConfig } from "vite" import react from "vitejs/plugin-react"import path from "path" // 需安裝此模塊// https://vitejs.dev/config/ expo…

設備健康管理平臺助力鋰電企業實現可持續發展

隨著鋰電池產業的快速發展,設備的穩定運行和精準維護對于鋰電企業來說至關重要。傳統的設備維護方式在效率和全面性方面存在局限,無法滿足鋰電行業對設備管理的需求。然而,通過設備健康管理平臺的引入,鋰電企業現在可以充分發揮其…

XSLVGL2.0 User Manual 頁面管理器(v2.0)

XSLVGL2.0 開發手冊 XSLVGL2.0 User Manual 頁面管理器 1、概述2、特性3、APIs3.1、xs_page_init3.2、xs_page_wait_inited3.3、xs_page_exit3.4、xs_page_acquire3.5、xs_page_release3.6、xs_page_set_bootlogo3.7、xs_page_setup_clear_finish3.8、xs_page_setup_is_finish…

【LeetCode:1410. HTML 實體解析器 | 模擬+哈希表+字符串+庫函數】

🚀 算法題 🚀 🌲 算法刷題專欄 | 面試必備算法 | 面試高頻算法 🍀 🌲 越難的東西,越要努力堅持,因為它具有很高的價值,算法就是這樣? 🌲 作者簡介:碩風和煒,…

【C語言】中,輸入一個數組,實現將輸入的n個數字按照從大到小的順序輸出。【通俗簡單易懂】

本篇文章中,我們將講述在C語言中,輸入一個數組,如何用for循環實現將輸入的n個數字按照從大到小輸出。 一.定義數組并初始化 首先,我們定義一個整形的數組并將其初始化。輸入n,來決定數組中整數的個數。 然后用for循…

通過HTML網頁對mysql數據庫進行增刪改查(CRUD實例)

首先我們得了解一下大致的架構 ,如下: 我們采用自底向上的方式進行開發, 一、先寫mysql數據庫 二、再寫java后端(Spring MVC架構)(這個是什么東西不懂不要緊,跟著步驟做就行了) 三、最后寫前端頁面(HTML) 一、 Mysql數據庫部分 我們要通過網頁對數據庫進行開發,…

解決:Gitee + PicGo配置圖床失敗

解決:Gitee PicGo配置圖床失敗 PicGo安裝插件的時候選擇:gitee-uploader,不要選擇gitee! 在Gitee新建的圖床倉庫中設置一個images文件夾,用來保存上傳的圖片,但是要注意在PicGo中的path中要寫上路徑/img…

數據庫基礎入門 — SQL運算符

我是南城余!阿里云開發者平臺專家博士證書獲得者! 歡迎關注我的博客!一同成長! 一名從事運維開發的worker,記錄分享學習。 專注于AI,運維開發,windows Linux 系統領域的分享! 本…

linux的基礎命令

文章目錄 linux的基礎命令一、linux的目錄結構(一)Linux路徑的描述方式 二、Linux命令入門(一)Linux命令基礎格式 三、ls命令(一)HOME目錄和工作目錄(二)ls命令的參數1.ls命令的-a選…

基于yolov2深度學習網絡的喝水行為檢測系統matlab仿真

目錄 1.算法運行效果圖預覽 2.算法運行軟件版本 3.部分核心程序 4.算法理論概述 4.1、YOLOv2網絡原理 4.2、基于YOLOv2的喝水行為檢測 5.算法完整程序工程 1.算法運行效果圖預覽 2.算法運行軟件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off;…

PPT思維導圖怎么做?這2個思維導圖工具墻裂推薦!

在日常學習和工作中,我們常常會面臨需要處理大量信息的情況,這時候,一種叫做思維導圖的工具可能會成為你的救星。 不同于傳統的線性記錄方式,思維導圖以其獨特的視覺表現力和結構化的信息處理方式,使得人們能夠更加有…

Flutter學習(四)如何取消listview的越界效果

背景 在flutter的開發過程中,ListView是很常見的一個組件,但是,由于ListView的某些自帶的體驗,導致不太好的用戶體驗。例如ListView中,滑動到頂部或者底部的時候,再次滑動,會有越界的效果&…

同步和異步

同步和異步是處理任務時的兩種不同方式。 同步是指一個進程在執行某個請求的時候,如果該請求需要一段時間才能返回信息,那么這個進程會一直等待下去,直到收到返回信息才繼續執行下去。這種方式下,任務是按照順序一個一個執行的&am…

2023年亞太地區數學建模大賽 問題A

采果機器人的圖像識別技術 中國是世界上最大的蘋果生產國,年產量約為3500萬噸。與此同時,中國也是世界上最大的蘋果出口國,全球每兩個蘋果中就有一個,全球超過六分之一的蘋果出口自中國。中國提出了一帶一路倡議(BRI&…

Cache學習(2):Cache結構 命中與缺失 多級Cache結構 直接映射緩存

1 Cache名詞解釋 命中(hit): CPU要訪問的數據在Cache中有緩存缺失(miss): CPU要訪問的數據在Cache中沒有緩存Cache Size:Cache的大小,代表Cache可以緩存最大數據的大小Cache Line&a…