JMeter 特殊組件-邏輯控制器與BeanShell PreProcessor 使用示例

文章目錄

  • 前言
    • JMeter 特殊組件-邏輯控制器與BeanShell PreProcessor 使用示例
      • 1. 邏輯控制器使用
        • 1.1. While Controller 使用示例
        • 1.2. 如果(If)控制器 使用示例
      • 2. BeanShell PreProcessor 使用示例

前言

??如果您覺得有用的話,記得給博主點個贊,評論,收藏一鍵三連啊,寫作不易啊^ _ ^。
??而且聽說點贊的人每天的運氣都不會太差,實在白嫖的話,那歡迎常來啊!!!


JMeter 特殊組件-邏輯控制器與BeanShell PreProcessor 使用示例

1. 邏輯控制器使用

流程:
1、選擇你的HTTP請求;
2、單機右鍵->選擇插入上級
3、選擇邏輯控制器
在這里插入圖片描述

1.1. While Controller 使用示例

添加用戶定義的變量:
在這里插入圖片描述
添加變量:count
在這里插入圖片描述
value值為循環的次數。
點擊此HTTP請求右鍵添加后置處理器:BeanShell PostProcessor
在這里插入圖片描述
里面寫入這段代碼:

String count = vars.get("count");
int countInt = Integer.parseInt(count);
countInt = countInt - 1;
vars.put("count",countInt+"");

在這里插入圖片描述
意思是:
獲取count變量,每次執行完此HTTP請求后,數值-1,并存入變量count

設置While Controller內容:

${__groovy(vars.get("count") !="0")}

在這里插入圖片描述

1.2. 如果(If)控制器 使用示例

在While Controller組件上右鍵點擊->插入上級->邏輯控制器->如果(If)控制器
在這里插入圖片描述
在此組件上輸入一下下面內容:

${whileFlag}

在這里插入圖片描述
在用戶定義的變量上新加變量whileFlag:
在這里插入圖片描述
vaue:true代表可以通過if判斷、false代表拒絕通過if判斷。

2. BeanShell PreProcessor 使用示例

大概流程:

首先在HTTP請求的Body Data 上設置變量,然后添加BeanShell PreProcessor,代表的是執行HTTP請求之前會先走BeanShell PreProcessor 組件,然后將傳參值輸入到剛剛我們在Body Data 上設置的變量,發起請求。

設置Body Data 變量:

${jsonInput}

在這里插入圖片描述
然后選擇此HTTP請求組件右鍵->添加->前置處理器->BeanShell PreProcessor 組件
在這里插入圖片描述
輸入內容:


import cn.hutool.json.JSONObject;
import java.util.ArrayList;
import java.util.List;//==================================================================================================// 生成隨機字符串作為parentId的值
long randomParentId = ${__Random(100,500)};
String msg = "[\"12\",\"2342\"]";
log.info(msg);// 創建一個空的 List
List inputList = new ArrayList();// 添加字符串元素到列表中
inputList.add("value1");
inputList.add("value2");
inputList.add("value3");// 設置JSON數據
String jsonData = "{\n" +"  \"pages\": {\n" +"    \"page\": 1,\n" +"    \"pageSize\": 10\n" +"  },\n" +"  \"param\": {\n" +"    \"isDelete\": \"string\",\n" +"    \"level\": \"string\",\n" +"    \"parentId\": \"string\",\n" +"    \"parentIds\": [\n" +"      \"string\"\n" +"    ],\n" +"    \"pkIds\": [\n" +"      \"string\"\n" +"    ]\n" +"  }\n" +"}";// 將隨機生成的parentId值替換到jsonInput中
JSONObject jsonObject = new JSONObject(jsonData);
// 替換parentIds值為隨機生成的值
jsonObject.getJSONObject("parameter").put("parentIds", inputList);
jsonObject.getJSONObject("parameter").put("parentId", randomParentId);
// 將JSON數據設置為JMeter變量
vars.put("jsonInput", jsonObject.toString());

特別注意:在JMeter中,不要寫關于泛型的代碼,JMeter不支持泛型。

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

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

相關文章

Java課題筆記~ SpringBoot簡介

1. 入門案例 問題導入 SpringMVC的HelloWord程序大家還記得嗎? SpringBoot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化Spring應用的初始搭建以及開發過程 原生開發SpringMVC程序過程 1.1 入門案例開發步驟 ①:創建新模塊&#…

設計模式-過濾器模式(使用案例)

過濾器模式(Filter Pattern)或標準模式(Criteria Pattern)是一種設計模式,這種模式允許開發人員使用不同的標準來過濾一組對象,通過邏輯運算以解耦的方式把它們連接起來。這種類型的設計模式屬于結構型模式…

服務器安裝centos7踩坑

1、制作啟動工具 下載iso https://developer.aliyun.com/mirror/?spma2c6h.25603864.0.0.20387abbo2RFbn http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spma2c6h.25603864.0.0.1995f5ad4AhJaW下載 UltraISO https://cn.ultraiso.net/插入u盤啟動 到了如圖所示頁面…

nginx php-fpm安裝配置

nginx php-fpm安裝配置 nginx本身不能處理PHP,它只是個web服務器,當接收到請求后,如果是php請求,則發給php解釋器處理,并把結果返回給客戶端。 nginx一般是把請求發fastcgi管理進程處理,fascgi管理進程選…

架構演進及常用架構

1架構演進及常用架構 1.1單體分層架構 1.2 多應用微服務架構 1.3 分布式集群部署 部署 CDN 節點: 用戶訪問量的增加意味著用戶地域的分散請求,如果所有請求都直接發送中心服務器的話,距離越遠,響應速度越差,這時就需…

【編織時空四:探究順序表與鏈表的數據之旅】

本章重點 鏈表的分類 帶頭雙向循環鏈表接口實現 順序表和鏈表的區別 緩存利用率參考存儲體系結構 以及 局部原理性。 一、鏈表的分類 實際中鏈表的結構非常多樣,以下情況組合起來就有8種鏈表結構: 1. 單向或者雙向 2. 帶頭或者不帶頭 3. 循環或者非…

yolov5封裝進ros系統

一,要具備ROS環境 ROS環境搭建可以參考我之前的文章 ROS參考文章1 ROS參考文章2 ? 建立ROS工作空間 ROS系統由自己的編譯空間規則。 cd 你自己想要的文件夾(我一般是home目錄) mkdir -p (你自己的文件夾名字,比如我是yolov5…

C++的stack和queue+優先隊列

文章目錄 什么是容器適配器底層邏輯為什么選擇deque作為stack和queue的底層默認容器優先隊列優先隊列的模擬實現stack和queue的模擬實現 什么是容器適配器 適配器是一種設計模式(設計模式是一套被反復使用的、多數人知曉的、經過分類編目的、代碼設計經驗的總 結),…

Greenplum多級分區表添加分區報錯ERROR: no partitions specified at depth 2

一般來說,我們二級分區表都會使用模版,如果沒有使用模版特性,那么就會報ERROR: no partitions specified at depth 2類似的錯誤。因為沒有模版,必須要顯式指定分區。 當然我們在建表的時候,如果沒有指定,那…

PyTorch訓練深度卷積生成對抗網絡DCGAN

文章目錄 DCGAN介紹代碼結果參考 DCGAN介紹 將CNN和GAN結合起來,把監督學習和無監督學習結合起來。具體解釋可以參見 深度卷積對抗生成網絡(DCGAN) DCGAN的生成器結構: 圖片來源:https://arxiv.org/abs/1511.06434 代碼 model.py impor…

VSCode 使用總結

快捷鍵 在 Visual Studio Code (VSCode) 中,有許多常用的快捷鍵可以提高編程效率。以下是一些常見的 VSCode 編程項目快捷鍵: 編輯器操作: 撤銷:Ctrl Z重做:Ctrl Shift Z復制:Ctrl C剪切:C…

Electron入門,項目啟動。

electron 簡單介紹: 實現:HTML/CSS/JS桌面程序,搭建跨平臺桌面應用。 electron 官方文檔: [https://electronjs.org/docs] 本文是基于以下2篇文章且自行實踐過的,可行性真實有效。 文章1: https://www.cnbl…

題解 | #1005.List Reshape# 2023杭電暑期多校9

1005.List Reshape 簽到題 題目大意 按一定格式給定一個純數字一維數組,按給定格式輸出成二維數組。 解題思路 讀入初始數組字符串,將每個數字分離,按要求輸出即可 參考代碼 參考代碼為已AC代碼主干,其中部分功能需讀者自行…

學習Vue:組件通信

組件化開發在現代前端開發中是一種關鍵的方法,它能夠將復雜的應用程序拆分為更小、更可管理的獨立組件。在Vue.js中,父子組件通信是組件化開發中的重要概念,同時我們還會討論其他組件間通信的方式。 父子組件通信:Props 和 Events…

TDSQL赤兔管理臺無管理員用戶密碼解決方案

解決方案 問題描述: tdsql使用過程中,可能會遇到控制臺用戶密碼忘記的情況,用戶登錄次數過多被鎖的情況,沒有管理員的用戶密碼又急需某些權限的情況。 解決過程: 獲取配置庫信息: 在瀏覽器上打開如下命…

基于Javaweb的攝影作品網站/攝影網站

摘 要 隨著信息化時代的到來,系統管理都趨向于智能化、系統化,攝影作品網站也不例外,但目前國內的有些網站仍然都使用人工管理,瀏覽網站人數越來越多,同時信息量也越來越龐大,人工管理顯然已無法應對時代的…

AMD fTPM RNG的BUG使得Linus Torvalds不滿

導讀因為在 Ryzen 系統上對內核造成了困擾,Linus Torvalds 最近在郵件列表中表達了對 AMD fTPM 硬件隨機數生成器的不滿,并提出了禁用該功能的建議。 因為在 Ryzen 系統上對內核造成了困擾,Linus Torvalds 最近在郵件列表中表達了對 AMD fTPM…

【【Verilog典型電路設計之FIFO設計】】

典型電路設計之FIFO設計 FIFO (First In First Out)是一種先進先出的數據緩存器,通常用于接口電路的數據緩存。與普通存儲器的區別是沒有外部讀寫地址線,可以使用兩個時鐘分別進行寫和讀操作。FIFO只能順序寫入數據和順序讀出數據&#xff0…

ThinkPHP中實現IP地址定位

在網站開發中,我們經常需要獲取用戶的地理位置信息以提供個性化的服務。一種常見的方法是通過IP地址定位。在本文中,我們將介紹如何在ThinkPHP框架中實現IP地址定位。 一、IP地址定位的基本原理 IP地址是Internet上的設備在網絡中的標識符。每個設備都有…

【從0開始學架構筆記】01 基礎架構

文章目錄 一、架構的定義1. 系統與子系統2. 模塊與組件3. 框架與架構4. 重新定義架構 二、架構設計的目的三、復雜度來源:高性能1. 單機復雜度2. 集群復雜度2.1 任務分配2.2 任務分解(微服務) 四、復雜度來源:高可用1. 計算高可用…