jmeter-beanshell学习1-vars使用获取变量和设置变量

最近又开始了用jmeter做自动化,不管怎么实现,都逃离不了用beanshell,最后把所有校验都放在了beanshell判断,效果还不错。

首先jmeter有很多beanshell相关的元件,取样器、前置处理器、后置处理器、断言,暂时用到了这四个,都能处理一些逻辑,细节上有一些区别,后面写上。

先写个最简单的vars,获取变量和设置变量。

获取的变量可以是参数文件、自定义变量、后置处理器提取等,这些都可以。

上面用正则表达式提取出id和name,这两个一个是整形,一个是字符串。beanshell也能提取,但是用的不好,而且如果接口报错,返回的不是这些内容,beanshell取不到容易报错,还要加很多异常处理,不如正则这些提取方便。

先用beanshell后置处理器,用vars.get()获取这两个值,打印日志的方式看一下。

id=vars.get("id");

提取的时候get后面的括号里的变量,都要加引号,等号左边id这个变量就是字符串了。如果括号里变量不加引号会报错,而且不能像接口引用那样,写成id=vars.get("${id}");,这种写法也报错。

第一个用vars.get取值和第二个直接用等号取值,目前看效果一样。

上面是用vars获取变量,如果需要把id和name拼接起来,再传给下一个接口,或者下一个beansehll处理,就要再用vars.put设置变量。

两个字符串拼接,直接加就行了,打印看是拼接上了,然后再设置变量。

vars.put("idName1",idName);

为了方便看,新设置的变量名为idName1,原来的变量名为idName,新变量名也一定要加引号。而且一定要有vars.put这一步,下面再写个接口,原变量和新变量都写了引用,看一下效果。

引用原变量名失败,新变量名成功。

vars.put()里面原变量也不能写成${}这种格式,但是原变量可以写vars.get()这种格式,两种组合,自行研究吧。

上面都是用beanshell后置处理器,beanshell取样器也可以处理这些内容,再用beanshell取样器试试。

效果一样,但是beansehll后置处理器,最好不要和取样器平级,否则会出现有几个取样器,就会执行几遍beanshell后置处理器的情况。

4个取样器,执行了4遍beanshell后置处理器,beanshell取样器只执行了一次。要使用哪个,还要看具体场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866903.shtml

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

相关文章

南方航空阿里v2滑块验证码逆向分析思路学习

目录 一、声明! 二、介绍 三、请求流程分析: 1.拿验证码 2.提交第一次设备信息 3.提交第二次设备信息 4.提交验证 ​编辑 四、接口响应数据分析: 1.拿验证码 2.提交第一次设备信息 3.提交第二次设备信息 4.提…

代码随想录第43天|动态规划

121. 买卖股票的最佳时机 股票只能被买卖一次 dp[i][0] 持有股票所得到的最大现金, dp[i][1] 不持有股票所得的最大现金, 避免定义多个变量递推公式: dp[i][0] 可能是在之前买入, 也可能是在这次被买入 max(dp[i - 1][0],-prices[i])dp[i][1] 可能是在本次抛售, 也可能在之…

误删分区后的数据拯救:双管齐下恢复策略

在数字化时代,数据的价值日益凸显,而误删分区作为常见的数据安全威胁之一,常常让用户措手不及。本文将深入探讨误删分区的现象,并为您揭示两种高效的数据恢复方案,旨在帮助您在最短时间内找回失去的数据,同…

RH850系列芯片深度剖析 1.8-内存管理之MPU

RH850系列芯片深度剖析 1.8-内存管理之MPU 文章目录 RH850系列芯片深度剖析 1.8-内存管理之MPU一、MPU简介1.1 功能特性1.2 系统保护标识符(SPID)二、保护区域设置2.1 保护区域属性设置2.2 保护区域设置注意事项2.2.1 跨越保护区域边界2.2.2 无效的保护区域设置2.2.3 保护违规…

当火热的Mamba遇到火热的YOLO,会发生怎么样的反应吗?

作者:浙江师范大学 论文地址:https://arxiv.org/pdf/2406.05835 代码地址:https://github.com/HZAI-ZJNU/Mamba-YOLO 目录 前言一、摘要二、介绍二、相关工作2.1 实时目标检测器2.2 端到端的目标检测器2.3 视觉状态空间模型 三 方法3.1 基础知…

Amesim应用篇-信号传递

前言 在Amesim中常见的信号传递是通过信号线连接,针对简单的模型通过信号线连接还可以是信号线清晰规整,方便查看。如果模型较复杂,传递信号的元件较多时,此时再继续使用信号线进行信号传递,可能会使草图界面看起来杂…

Leetcode - 周赛403

目录 一,3200. 三角形的最大高度 二,3195. 包含所有 1 的最小矩形面积 I 三,3196. 最大化子数组的总成本 四,3197. 包含所有 1 的最小矩形面积 II 一,3200. 三角形的最大高度 本题是一道模拟题,可以先排…

【Leetcode笔记】406.根据身高重建队列

文章目录 1. 题目要求2.解题思路 注意3.ACM模式代码 1. 题目要求 2.解题思路 首先,按照每个人的身高属性(即people[i][0])来排队,顺序是从大到小降序排列,如果遇到同身高的,按照另一个属性(即p…

分享超级实用的3款AI工具,让工作效率轻松翻倍

Hey,职场小伙伴们!每天被堆积如山的工作压得喘不过气?加班成了日常,效率却不见提高?别急,今天就让我来给你们揭秘3款AI神器,它们将是你职场上的得力助手,让你的工作效率轻松翻倍&…

AR视频技术与EasyDSS流媒体视频管理平台:打造沉浸式视频体验

随着增强现实(AR)技术的飞速发展,其在各个领域的应用日益广泛。这项技术通过实时计算摄影机影像的位置及角度,将虚拟信息叠加到真实世界中,为用户带来超越现实的感官体验。AR视频技术不仅极大地丰富了我们的视觉体验&a…

阶段总结——基于深度学习的三叶青图像识别

阶段总结——基于深度学习的三叶青图像识别 文章目录 一、计算机视觉图像分类系统设计二、训练模型2.1. 构建数据集2.2. 网络模型选择2.3. 图像数据增强与调参2.4. 部署模型到web端2.5. 开发图像识别小程序 三、实验结果3.1. 模型训练3.2. 模型部署 四、讨论五、参考文献&#…

Linux wget报未找到命令

wget报未找到命令需要安装wget 1、下载wget安装文件,本次于华为云资源镜像下载 地址:https://mirrors.huaweicloud.com/centos-vault/7.8.2003/os/x86_64/Packages/ 2、下载后上传到安装服务器/install_package,执行命令安装 rpm -ivh /i…

联合概率密度函数

目录 1. 什么是概率密度由联合概率密度求概率参考链接 1. 什么是概率密度 概率密度到底在表达什么? 外卖在20-40分钟内送达的概率 随机变量落在[20,40]之间的概率。下图中,对总面积做规范化处理,令总面积1, f ( x ) f(x) f(x)则成…

用requirements.txt配置环境

1. 在anaconda创建环境 创建Python版本为3.8的环境,与yolov5所需的包适配。 2. 在Anaconda Prompt中激活环境 (base) C:\Users\吴伊晴>conda activate yolov5 3. 配置环境 用指定路径中的requirements.txt配置环境。 (yolov5) C:\Users\吴伊晴>pip insta…

格式化代码 | 美化JSON、SQL

一、格式化JSON数据 打开Postman,将json数据粘到里面,点击Beautify即可美化代码。 二、格式化SQL 打开Navicat,新建查询,将sql粘进去点击”美化sql“即可。 三、浏览器 在线格式化 使用浏览器上的在线格式化网址。例如&…

使用ChatGPT写论文,只需四步突破论文写作瓶颈!

欢迎关注,为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流 地表最强大的高级学术AI专业版已经开放,拥有全球领先的GPT学术科研应用,有兴趣的朋友可…

滑动窗口(C++)

文章目录 1、长度最小的子数组2、无重复字符的最长子串3、最大连续1的个数 Ⅲ4、将x减到0的最小操作数5、水果成篮6、找到字符串中所有字母异位词7、串联所有单词的子串8、最小覆盖子串 通常,算法的主体说明会放在第一道题中。但实际上,不通常。 算法在代…

gradle构建工具

setting.gradle // settings.gradle rootProject.name my-project // 指定根项目名称include subproject1, subproject2 // 指定子项目名称,可选jar包名称 方式一 jar {archiveBaseName my-application // 设置 JAR 文件的基本名称archiveVersion 1.0 // 设置…

重载赋值运算符

c编译器可能会给类添加四个函数 1默认构造函数 2默认析构函数 3默认拷贝构造函数&#xff0c;对成员变量进行浅拷贝。 4默认赋值函数&#xff0c;队成员变量进行浅拷贝。 #include<iostream> using namespace std; class CGirl { public:int m_bh;string m_name;voi…

【VUE基础】VUE3第三节—核心语法之computed、watch、watcheffect

computed 接受一个 getter 函数&#xff0c;返回一个只读的响应式 ref 对象。该 ref 通过 .value 暴露 getter 函数的返回值。它也可以接受一个带有 get 和 set 函数的对象来创建一个可写的 ref 对象。 创建一个只读的计算属性 ref&#xff1a; <template><div cl…