当前位置: 首页 > news >正文

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取样器只执行了一次。要使用哪个,还要看具体场景。

相关文章:

  • go内存返还系统相关代码
  • 001 进程和线程
  • Ruby 环境变量
  • 手写SpringMVC之调度器DispatcherServlet
  • Web3 ETF的主要功能
  • 开源205W桌面充电器,140W+65W升降压PD3.1快充模块(2C+1A口),IP6557+IP6538
  • docker pull 镜像的时候遇到Pulling fs layer问题
  • Eigen 欧拉角转旋转矩阵相互转换
  • SpringBoot整合Dubbo的快速使用教程
  • 嵌入式MCU平台汇总
  • 视频编解码从H.264到H.266:浅析GB28181安防视频汇聚EasyCVR视频压缩技术
  • 解锁高效软件测试:虚拟机助力提升测试流程的秘诀
  • class类和style内联样式的绑定
  • 12款超良心好用APP推荐,每一款都值得下载!
  • odoo 物联网 设备数据采集方案
  • [PHP内核探索]PHP中的哈希表
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • canvas绘制圆角头像
  • exif信息对照
  • LeetCode18.四数之和 JavaScript
  • LeetCode算法系列_0891_子序列宽度之和
  • orm2 中文文档 3.1 模型属性
  • Sass Day-01
  • Unix命令
  • 从零开始的无人驾驶 1
  • 计算机常识 - 收藏集 - 掘金
  • 简析gRPC client 连接管理
  • 如何用vue打造一个移动端音乐播放器
  • 数据结构java版之冒泡排序及优化
  • 通过npm或yarn自动生成vue组件
  • 想写好前端,先练好内功
  • 移动端 h5开发相关内容总结(三)
  • 栈实现走出迷宫(C++)
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • linux 淘宝开源监控工具tsar
  • ​iOS实时查看App运行日志
  • ​学习一下,什么是预包装食品?​
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $refs 、$nextTic、动态组件、name的使用
  • (10)STL算法之搜索(二) 二分查找
  • (LeetCode 49)Anagrams
  • (ZT)出版业改革:该死的死,该生的生
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .net 受管制代码
  • .net反编译工具
  • .Net各种迷惑命名解释
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • @ComponentScan比较
  • @synthesize和@dynamic分别有什么作用?
  • [ 转载 ] SharePoint 资料