IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Jmeter实践经验总结(1)——beanshell用来获取变量和设置变量的vars -> 正文阅读

[开发测试]Jmeter实践经验总结(1)——beanshell用来获取变量和设置变量的vars

? ? ? ?这几年Jmeter用的相对比较多,自己每次在做项目时也常会去翻看以前遇到的问题,记录的一些技巧,解决方案,也一直考虑把它整理出来,一来方便自己查找,二来也希望同行可以互相切磋。我写的这些文章不是针对Jmeter小白用户,可能叙述某些步骤时会直接跳过一些解释,不明白的或者表达错误的欢迎提出。目前所用的Jmeter版本是5.3。

? ? ? ? 通常我们在编写场景类脚本时需要引用之前提取或设置的变量,如先在线程组下右击创建一个配置元素,选择用户自定义变量,设置一个参数名为name,值为junjun。什么情况下需要用到这种配置元素?一般每次需要执行相同脚本不同参数时,如线程数量等

  1. ? ? ? ? 接下来要实现beanshell中引用这个变量并打印。可能刚接触Jmeter的同学很少会用到beanshell,在面试时被问到Jmeter相关问题时也只会最基本的知道怎么建线程组,创建http请求,参数化了解一些,后置处理器也只用过正则表达式、查看结果树等等。涉及怎么调试、查看日志、函数、脚本语言十有八九是回答不出来的,这里基本组件会讲的少一点,主要是讲我实际做项目时会用到的一些知识点,beanshell会涉及较多。

? ? ? ? 新增一个beanshell sampler,

按如下第一种方法${}来引用,打开右上角日志,执行。查看日志中报错信息,因为log.info只能打印字符串,而在引用name时未指定字符串类型

//提取name变量值
//方法1:${}
name1=${name};
log.info(name1);

?修改如下,增加双引号,再执行,可以看到junjun已经打印在下方。

//提取name变量值
//方法1:${}
name1="${name}";
log.info(name1);

?

第二种方法,使用vars.get()方法,括号里直接填写变量名,可以看到报错信息Undefined argument: name,意思是name这个参数么有定义,就是识别不了这个参数,原因是vars.get在获取变量时也需要打双引号

//方法2:vars
name2=vars.get(name);
log.info(name2);

?修改如下,再次执行结果已打印,由于vars.get()获取的变量值为字符串类型,所以在log.info()打印时可以直接输出了。

//方法2:vars
name2=vars.get("name");
log.info(name2);

2. 获取了变量后,如果要执行过程中需要修改变量后引用怎么做呢?新建一个2,输入如下再执行,又看到了熟悉的错误,分析下,name3做了一个字符串连接打印输出,再将name3的值存入一个新的变量name4并打印,报错的原因是vars.put("b",a)中指定新的变量时必须打双引号

name2=vars.get("name");
log.info(name2);

name3=name2+"001";
log.info(name3);
//将name3变量的值存入name4变量
vars.put(name4,name3);
log.info(vars.get("name4"));

?修改

name2=vars.get("name");
log.info(name2);

name3=name2+"001";
log.info(name3);
//将name3变量的值存入name4变量
vars.put("name4",name3);
log.info(vars.get("name4"));

总结下本文主要讲的就是2点

1.在beashell中引用变量时可以用${} 也可以用vars.get(String key),需要注意的是双引号使用,获取的数据类型,本篇例子都是字符串类型

2.在beashell中设置新变量时可以用vars.put(String b,a),b为新的变量名,a为值可以是字符串也可以其它类型

????????

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:42:27  更:2021-10-21 12:42:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:23:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码