当前位置:首页 > 娱乐星闻

beanshell Jmeter Beanshell 编程简介

简介

Jmeter除了提供丰富的组件外,还提供脚本支持,可以通过编写脚本来丰富Jmeter,实现普通组件无法完成的功能。Beanshell是一种轻量级的Java脚本语言,完全符合Java规范,内置了一些独特的变量和方法。详细语法见豆壳官网(http://www.beanshell.org/)。

Jmeter支持多种脚本语言,包括Beanshell、Java和Groovy,其中Beanshell最为全面,提供了Beanshell的很多组件:

1.Beanshell采样器:beanshell请求,完成beanshell请求组件中定义的脚本函数

2.Beanshell后处理器:Beanshell后处理器,可以通过编程获得相应请求的响应结果

3.Beanshell断言:复杂的断言逻辑可以通过编程实现

4.Beanshell预处理器:Beanshell预处理器,可以在发起请求之前以编程方式对其进行预处理,如编码或加密

5.豆壳定时器:豆壳定时器,编程实现条件定时功能

6.Beanshell listener:bean shell侦听器,它监控bean shell运行结果

Beanshell内置变量介绍

Beanshell有一些默认的内置变量,用户可以通过它们与JMeter交互。主要变量及其使用方法如下:

log:写入信息到控制台中,帮助调试脚本vars: 操作jmeter变量,生成/更新/获取当前脚本的jmeter变量props: 操作jmeter属性,生成/更新/获取当前脚本的jmeter属性,使用方法和vars一样ctx:获取当前线程上下文,可获取当前线程的请求信息和相应信息(eg:可以获取Http请求和响应的所有数据)prev:获取当前请求的结果

豆壳采样器示例

-vars/道具/日志

使用Beanshell Sampler,测试人员可以编写一些由特定逻辑生成的数据,并通过vars.get、vars.put或props.get、props.put将相应的变量传递给Jmeter脚本

比如有些程序验证身份证,可以在Beanshell脚本中编写身份证生成逻辑,通过代码生成符合数字和省市代码验证的身份证号,然后将生成的身份证号保存为vars或props中的变量,供后续接口调用。

Vars.get(String,String)可以在Jmeter中获取生成的变量

(字符串,字符串)可以创建和更新Jmeter变量

Props.get(String,String)可以获取Jmeter中生成的属性

Props.put(String,String)可以创建和更新Jmeter属性

vars和props的区别在于,前者是只能在同一个线程组内传递的变量,而后者是整个测试计划中可以跨线程组传递的属性。

Log.info(String)可以向控制台输出信息,方便代码调试

豆壳后处理器示例

- ctx/prev

Ctx内置变量可以获取上下文,通常与Beanshell后置处理器结合使用,解析请求结果。具体代码如下。在Jmeter的Beanshell脚本编辑器中,可以直接引用Jmeter的Jar包。Jmeter Jar包的应用编程接口见官方网站(http://jmeter.apache.org/api/overview-summary.html)

Prev相当于ctx.getPreviousResult,通过prev可以直接得到响应结果

通过上面的例子,我们对Beanshell编程有了初步的了解。Jmeter Beanshell组件有很多,其中最常用的是Beanshell预处理器、BeanShell后处理器和BeanShell断言。这些Beanshell组件的接口部分是相似的,但不同的是它们用于请求的不同阶段。

不管是什么样的组件,核心都是掌握Beanshell的内置变量和Java编程的基本技能,利用这些技能完成一些定制化的开发。除了生成变量、解析响应结果和定制逻辑处理,Beanshell还常用于发送请求前后的加密和解密。尝试用Beanshell解锁Jmeter高级用法~

我知道你会来的

1.《beanshell Jmeter Beanshell 编程简介》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《beanshell Jmeter Beanshell 编程简介》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1514433.html

上一篇

三局社长是什么动物

下一篇

凡士林怎么涂睫毛

js全局变量 JS代码中如何使用局部变量和全局变量

js全局变量 JS代码中如何使用局部变量和全局变量

当给尚未声明的变量赋值时,将创建一个意外的全局变量,默认情况下,该变量将是一个全局变量。  “使用严格”是控制全局变量的好方法;写这个命令就解决了一半的问题。主要是开发人员使用,不允许不声明就给出错误来威胁意外变量。...

vux Vux v0.1.1发布,基于Vue和WeUI移动端UI组件

vux Vux v0.1.1发布,基于Vue和WeUI移动端UI组件

Vux v0.1.1已经发布。 新组件预览器 如果已经通过微信认证,建议直接使用jssdk的预览界面,方便调用,客户端自带支持,节省部分脚本流量。 [new]用于预览图片,支持左右滑动切换、放大和缩小 捣蛋鬼 [新]通...

阴阳师免费挂机脚本 阴阳师永久封号名单公布:外挂脚本注意了

阴阳师免费挂机脚本 阴阳师永久封号名单公布:外挂脚本注意了

2017年2月18日,阴阳师处罚名单公示,又一波永久封号名单出炉。最近,调查和处理各种加速、脚本和协助的工作更加严格。以下带来最新解释。我猜你还是想看这些:为了维护阴阳撩的公平正义,撩办对使用第三方软件玩游戏的ID进行...

苹果按钮浮标怎么设置 苹果新系统全面升级:新界面、小组件、画中画、siri浮标

苹果按钮浮标怎么设置 苹果新系统全面升级:新界面、小组件、画中画、siri浮标

苹果iOS14正式发布!北京时间6月23日凌晨,苹果2020WWDC在加州总部乔布斯剧院举行,这是第一次在网上举办的WWDC。不像网上传言的那样,不会改名为iPhone OS,最新的移动操作系统延续了iOS的命名传统,...

stp格式 绝密|这才是Proe组件另存为STP格式的正确姿势!

  • stp格式 绝密|这才是Proe组件另存为STP格式的正确姿势!
  • stp格式 绝密|这才是Proe组件另存为STP格式的正确姿势!
  • stp格式 绝密|这才是Proe组件另存为STP格式的正确姿势!

直播策划 淘宝直播入门: 大咖教你如何10分钟做出直播策划脚本

  • 直播策划 淘宝直播入门: 大咖教你如何10分钟做出直播策划脚本
  • 直播策划 淘宝直播入门: 大咖教你如何10分钟做出直播策划脚本
  • 直播策划 淘宝直播入门: 大咖教你如何10分钟做出直播策划脚本

富士康内鬼赚3亿 盗卖iPhone零组件牟利

富士康内鬼赚3亿 盗卖iPhone零组件牟利  富士康疑现内鬼,卖iPhone组装机获利3亿人民币  12月19日消息:据外媒报道称,苹果最大的代工厂富士康有内部员工盗卖iPhone零组件牟利。  报道中提到,在过去3...

违章有异议打什么电话 对交通违法有异议 可以通过微信申请复议

违章有异议打什么电话 对交通违法有异议 可以通过微信申请复议

7月8日,记者从南昌市公安局交通管理局了解到,为进一步深化“配送服务”改革,使市民实现“最多跑一次”到“不跑一次”的目标,南昌市公安局交通管理局开通了“南昌交警”微信官方账号,市民对异地交通违规行为有异议的,可通过微信...