JMeter——运用BeanShell给自定义的变量动态赋值
Posted Elvis_lfc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter——运用BeanShell给自定义的变量动态赋值相关的知识,希望对你有一定的参考价值。
1、先看一下我的用例结构:这个计划中定义了以下组件:
- 用户自定义变量:
里面定义了2个变量,一个是us(注意,未对它初始化),一个变量名是:test ,值为:123456
- 一个BeanShell Sampler:
$test表示传入BeanShell Sampler的参数,也就是我们前面定义的test参数,当然,如果需要传入多个参数,
一直写下去就可以,不需要标点隔开!
Script区域的2句话解释(java语法):
第一句将$test的值转成String类型的(因为这里面对自定义参数复制只支持String)并赋值给xxx变量;
第二句, 将xxx变量的值在赋值给我们前面定义的变量us
- 一个HttpRequest Sampler(index),
- 一个对于index的相应断言,一个查看结果树的监听器。(这里略过)
下面就是见证奇迹的时候,我们来运行一下这个计划:
从结果树中可以看出,我们果然把test变量的值传递给了us,
也许这时有人会问,这有什么用,我来细说,举个实际的场景:
我们需要测试访问某件商品的详情页的cgi,这是商品id我们不能写死某一个具体的id号,所以我们就得动态的从搜索或者列表页去取,从body中利用jmeter的正则提取器,把所有的商品id全给取出来,然后随机取一个放到我们事先定义好的变量:product_id(举个例子,不一定是这个名字)中,在把这个id拼到url中……
你想想,这是这个功能是不是派上用场了!当然,提取id的script你可以自己写喽,哈哈!
以上是关于JMeter——运用BeanShell给自定义的变量动态赋值的主要内容,如果未能解决你的问题,请参考以下文章
Jmeter-BeanShell断言的运用一(JSON响应数据与数据库比对)
Jmeter-BeanShell PostProcessor提取请求及响应结果并保存到本地文件
JMeter学习-037-JMeter调试工具之四-BeanShell+jmeter.log