JMeter中BeanShell用法总结(一)
时间:2016-10-10 14:24:04
收藏:0
阅读:1175
一、什么是Bean Shell
- BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;
- BeanShell是一种松散类型的脚本语言(这点和JS类似);
- BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。
- BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。
二、Jmeter有哪些Bean Shell
-
定时器: BeanShell Timer
-
前置处理器:BeanShell PreProcessor
-
采样器: BeanShell Sampler
-
后置处理器:BeanShell PostProcessor
-
断言: BeanShell断言
-
监听器: BeanShell Listener
三、BeanShell的用法
通过实例讲解BeanShell的用法
使用场景:手机号注册,登录,绑卡业务
实现随机生成不重复的手机号的两种方式:
1.注册接口参数:
merchant_id=00000001&bizcode=uums_user_register&mobile=13${__Random(000000000,999999999,Phone)}&password=888888
此种方式,是通过JMeter自带的Random函数,生成某个范围内的随机数,然后后面的登录业务,直接引用13${Phone}即可
登录接口:
merchant_id=00000001&bizcode=uums_login&login_type=104&login_account=13${Phone}&password=888888
方式2:
通过BeanShell实现:
String time = "${__time(,)}"; int [] arr = {13,15,18,17}; int index=(int)(Math.random()*arr.length);//产生0-(arr.length-1)的整数值,也是数组的索引 int rand = arr[index]; String time =time.substring(6,13); vars.put("Phone",rand+""+${__Random(0,9,RandNo1)}+""+time+""+${__Random(0,9,RandNo2)}); //如果在测试过程中,存在重复,也可以构造其他随机数 //1476063656393 //6063697317 //063754461
注意:BeanShell放置注册采样器的下面和放在测试用例下的区别:
每次都会执行BeanShell Sampler一次
放在注册采样器下:每次只执行一次:
评论(0)