JMeter 特殊组件-逻辑控制器与BeanShell PreProcessor 使用示例

news2024/12/24 16:38:43

文章目录

  • 前言
    • 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.coloradmin.cn/o/882463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频云存储平台EasyCVR视频汇聚接入AI算法接口,如何在检测中对视频流画框?

视频集中存储EasyCVR安防监控视频汇聚平台基于云边端智能协同架构,具有强大的数据接入、处理及分发能力,平台可支持多协议接入,包括市场主流标准协议与厂家私有协议及SDK,如:国标GB28181、RTMP、RTSP/Onvif、海康Ehome…

Matlab中图例的位置(图例放在图的上方、下方、左方、右方、图外面)等

一、图例默认位置 默认的位置在NorthEast r 10; a 0; b 0; t0:0.1:2.1*pi; xar*cos(t); ybr*sin(t); A1plot(x,y,r,linewidth,4);%圆 hold on axis equal A2plot([0 0],[1 10],b,linewidth,4);%直线 legend([A1,A2],圆形,line)二、通过Location对legend的位置进行改变 变…

国标GB28181视频平台EasyGBS国标视频平台接入大量通道,创建角色未响应的问题解决方案

国标GB28181协议视频平台EasyGBS是基于国标GB28181协议的视频云服务平台,支持多路设备同时接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可提供视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级…

生成IOS app专用密码教程

转载:生成IOS app专用密码教程 APP专用密码app-specific password是专门用于上传ipa文件的一种密码,是一种苹果的安全机制! 现在苹果开发者账号开启了双重认证,提交ipa文件时候都需要这个密码! 一.注册AppID账号 1…

Linux 路由三大件

对于 Linux 网络,好奇心强的同学一定思考过两个问题: 当我们发出一个包的时候,Linux 是如何决策该从哪个网卡(假设有多个网卡)、哪个下一跳发出这个包,用什么 IP 作为 source......当 Linux 收到一个包时&a…

云服务 Ubuntu 20.04 版本 使用 Nginx 部署静态网页

所需操作: 1.安装Nginx 2.修改配置文件 3.测试、重启 Nginx 4.内部修改防火墙 5.配置解析 6.测试是否部署成功 1.安装Nginx // 未使用 root 账号 apt-get update // 更新apt-get install nginx // 安装 nginx 1.1.测试是否安装没问题 在网页上输入云服务的公网…

链表之第一回

欢迎来到我的:世界 收录专栏:链表 希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 ! 目录 前言第一题:删除链表的倒数第n个节点第二题:链表的中间结点第三题:合并两个排序…

Apache Dubbo 云原生可观测性的探索与实践

作者:宋小生 - 平安壹钱包中间件资深工程师 Dubbo3 可观测能力速览 Apache Dubbo3 在云原生可观测性方面完成重磅升级,使用 Dubbo3 最新版本,你只需要引入 dubbo-spring-boot-observability-starter 依赖,微服务集群即原生具备以…

Gradio部署应用到服务器不能正常访问

用Gradio部署一个基于ChatGLM-6B的应用,发布到团队的服务器上(局域网,公网不能访问),我将gradio应用发布到服务器的9001端口 import gradio as gr with gr.Blocks() as demo:......demo.queue().launch(server_port90…

视频集中存储安防监控平台EasyCVR优化AI硬件接入时的通道显示异常问题

安防视频监控平台视频集中存储EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。 安防监控视频云存储平台EasyCVR既具…

NPCon2023 AI模型技术与应用峰会:参后感

8月12日,参加了在北京皇家格兰云天大酒店召开的“全链路搭建人工智能研发基础”会议。此次会议汇集了众多人工智能领域的顶尖技术专家,他们就人工智能基础设施、计算能力资源以及模型训练等核心议题展开了深入的研讨。 1.主题以及收获 主题1.由千芯科技…

网络编程555

上传代码 #include <stdio.h>//客户端 #include <string.h> #include <stdlib.h> #include<sys/types.h> #include<sys/socket.h> #include<arpa/inet.h> #include<head.h> #define PORT 69 #define IP "192.168.124.57"…

Arduino之TFT_eSPI驱动彩色LCD屏

一、TFT_eSPI库简介 1.1 安装TFT_eSPI库 在User_Setup.h中进行个人屏幕参数的配置&#xff1a; User_Setup.hTFT驱动板备注TFT_MISO无 TFT_MOSISDA TFT_SCLKCLK TFT_CSCS液晶屏片选信号&#xff0c;低电平使能TFT_DCRS液晶屏寄存器/数据选择信号TFT_RSTRST液晶屏复位信号TF…

通达信一目均衡表指标选股公式,又称云图指标

一目均衡表&#xff08;Ichimoku Kinko Hyo&#xff0c;又称一目均衡图、云图指标&#xff09;是由日本记者兼股市专家一目山人发明的&#xff0c;被广泛用于股票、外汇、期货等金融市场的趋势分析和支撑阻力位的判断。一目均衡表提供了一种综合性的视角&#xff0c;结合了多个…

LC-相交链表(解法1)

LC-相交链表&#xff08;解法1&#xff09; 链接&#xff1a;https://leetcode.cn/problems/intersection-of-two-linked-lists/description/ 描述&#xff1a;给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在…

Linux交叉编译opencv并移植ARM端

Linux交叉编译opencv并移植ARM端 - 知乎 一、安装交叉编译器 目标平台为arm7l&#xff0c;此为32位ARM架构&#xff0c;要安装合适的编译器 sudo apt install arm-linux-gnueabihf-gcc sudo apt install arm-linux-gnueabihf-g注意&#xff1a;64位ARM架构的编译器与32位ARM架…

微服务与Nacos概述-6

RBAC 模型 RBAC 基于角色的访问控制是实施面向企业安全策略的一种有效的访问控制方式。 基本思想是&#xff0c;对系统操作的各种权限不是直接授予具体的用户&#xff0c;而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当…

使用 BERT 进行文本分类 (02/3)

​ 一、说明 在使用BERT&#xff08;1&#xff09;进行文本分类中&#xff0c;我向您展示了一个BERT如何标记文本的示例。在下面的文章中&#xff0c;让我们更深入地研究是否可以使用 BERT 来预测文本是使用 PyTorch 传达积极还是消极的情绪。首先&#xff0c;我们需要准备数据…

利用POM完成脚本分离实现企业级自动化(POM设计模式+页面的框架封装+测试报告截图)

利用POM完成脚本分离实现企业级自动化&#xff08;POM设计模式页面的框架封装测试报告截图&#xff09; 项目-测试-手工测试 项目-测试-手工测试 1.了解需求&#xff1b; 2.编写测试用例&#xff08;开始&#xff09;——功能测试组会去做的事情 3.执行测试用例——发送测试报…

vue中router路由的原理?两种路由模式如何实现?(vue2) -(下)

上一期我们说到了如果想要实现一个路由嵌套&#xff0c;那么就需要判断传递实例化路由时的那个路由信息是否存在children属性&#xff0c;如果有children说明它是二级路由&#xff0c;我们还需要去递归判断&#xff0c;因为它不一定只有一个子路由&#xff0c;接下来实现一下路…