JMeter学习-037-JMeter调试工具之四-BeanShell+jmeter.log

前面三篇文章分别讲述了 HTTP Mirror Server 、 Debug PostProcessor 和 Debug Samper 的脚本调试实例。此文主要讲述第四种调试方法,通过 BeanShell 脚本结合 jmeter.log 查看响应的变量等信息。

BeanShell脚本访问变量主要通过 vars 和 props 去访问,常用主要方法如下:

    • vars.get(变量名):获取定义变量对应的值,含BeanShell脚本生成变量;
    • vars.put(变量名,变量值):生成新的变量或修改已存在的变量;
    • props.get(变量名):获取jmeter.properties中定义变量对应值;

闲话少数,直接上图了(待更新图片。。。敬请期待)。

脚本结构图如下所示:

【BeanShell Sampler-036后037前】脚本截图如下所示(自己敲敲,有益学习 ^_^):

【BeanShell PostProcessor-037样本线程内】脚本截图如下所示:

【BeanShell Sampler-037后】脚本截图如下所示:

【Debug Sampler 配置】如下所示(方便后续对比 props 输出):

执行脚本,查看执行结果(jmeter.log):

【(037 样本线程内)生成变量的值】脚本输出如下所示:

【BeanShell PostProcessor(037 样本线程内)】输出如下所示:

【BeanShell Sampler(在JMeter博文 037 之后)】输出如下所示:

【Debug Sampler】部分(jmeter.properties)输出如下所示:

综上可见:

1、BeanShell脚本可访问脚本之前所有系统已定义的变量,未定义的输出为null;

2、BeanShell脚本可通过vars.put(变量名,变量值)方法生成新的定义变量;

3、BeanShell脚本参数通过空格键分组为list,通过bsh.args[index]进行访问;

4、BeanShell脚本可访问 JMeterProperties中存在的变量,即jmeter.properties中定义的变量。可通过在其中定义变量达到相应的目的,相关实例请参阅 JMeter学习-029-JMeter配置文件propertie配置项读取及应用实例

5、BeanShell脚本可采用直接引用的方式读取(推荐)或参数形式访问;

6、BeanShell脚本参数变量不存在时,引用方式视为字符串。

相关文章链接:

JMeter学习-036-JMeter调试工具之三---Debug Sampler

JMeter学习-035-JMeter调试工具之二---Debug PostProcessor

JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server

相关参考链接:

http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler

http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PreProcessor

http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor

http://www.beanshell.org/docs.html

至此,此文顺利完结,希望此文能够给初学 JMeter 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

时间: 2024-08-09 14:41:23

JMeter学习-037-JMeter调试工具之四-BeanShell+jmeter.log的相关文章

Jmeter 学习问题三: BeanShell 学习对Jmeter的帮助有多大?

Jmeter 学习问题三: BeanShell 学习对Jmeter的帮助有多大?后续学习过程中需调研 Jmeter 学习问题三: BeanShell 学习对Jmeter的帮助有多大?,布布扣,bubuko.com

JMeter学习-034-JMeter调试工具之一---HTTP Mirror Server

通常,编程工具IDE都提供了相应的调试模块,供开发者使用,以便更快速的定位问题所在.那么在JMeter编写测试脚本的过程中,JMeter都提供了哪些调试工具供我们使用呢? JMeter常用的调试工具有如下五种: 1.View Tree:查看结果树.含请求信息.响应信息等,请求头信息中的cookie信息一般默认不会显示,可通过修改JMeter配置参数进行显示.日常大家用的挺多的,在此不再赘述. 2.HTTP Mirror Server:HTTP镜像服务器.用于查看请求信息. 3.Debug Pre

【转】Jmeter学习(三十三)调试工具Debug Sampler

一.Debug Sampler介绍: 使用Jmeter开发脚本时,难免需要调试,这时可以使用Jmeter的Debug Sampler,它有三个选项:JMeter properties,JMeter variables,System properties: 1.JMeter properties和System properties:通常都选false,这两个就是JMeter和系统的属性,在Jmeter的bin的jmeter.properties中定义,一般都不会变. 2.JMeter variab

JMeter学习-007-JMeter 断言实例之一 - 响应断言

之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请求,也可进行录制,只需要将手机连接的无线网络代理到本机(以 iPhone 为例,依次点击 [设置]/[无线局域网]/[连接网络信息,即网络右侧详细信息符号]/[HTTP代理]/手动],填写 服务器IP.端口 对应填写 JMeter 机器的 IP.JMeter HTTP 代理端口 即可),并将对应的端

JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例

上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应结果中的数据呢?此文以获取类目 手机数码-手机通讯-苹果 结果列表中的第一个商品的系统编号为例演示(脚本基于上篇文章,请知悉). 如下为请求响应数据中的部分数据,我们最终要获取的数据为 "sysNo": "2142717" 中的 2142717. 1 2 3 4 5 6

JMeter学习-015-JMeter 断言之-Bean Shell Assertion

前面的博文中有对 JMeter 中的 响应断言 进行了讲解并实例演示,详情敬请参阅博文:JMeter学习-007-JMeter 断言实例之一 - 响应断言. 在 JMeter 中总计提供了如下几种 BeanShell 组件: Beanshell Sampler:单独的采样器. Beanshell PreProcessor:针对其他采样器的前置处理器.可以在采样器执行之前进行预处理操作,生成相关测试数据供采样器使用,相当于 TestNG 中的 before annotation. Beanshel

【转载】JMeter学习(一)工具简单介绍

JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等.JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能.     同时,JMeter可以帮助你对你的应用程序进行回归测试.

JMeter学习-004-WEB脚本入门实战

此文为 JMeter 入门实战实例.我是 JMeter 初学菜鸟一个,因而此文适合 JMeter 初学者参阅.同时,因本人知识有限,若文中存在不足的地方,敬请大神不吝指正,非常感谢! 闲话少述,话归正题.本文将从 Chrome浏览器代理配置.JMeter HTTP代理服务器 配置.JMeter HTTP代理服务器获取HTTP请求.JMeter脚本创建.JMeter脚本运行 五个方面,分三大块对 JMeter 初级实战应用配以图文,进行详细步骤描述,真正的做到一步一步.从无到有. 一.WEB 浏览

JMeter学习(一)工具简单介绍

一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等.JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能.     同时,JMeter可以帮助你对你的应用程序进行回归测试.通过你创建的测试脚本和asserti