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),

  这里定义了一个http请求,我们要验证的就是最后的请求url是不是:tuan.qq.com/shanghai/123455
  • 一个对于index的相应断言,一个查看结果树的监听器。(这里略过)

下面就是见证奇迹的时候,我们来运行一下这个计划:


从结果树中可以看出,我们果然把test变量的值传递给了us,

也许这时有人会问,这有什么用,我来细说,举个实际的场景:

我们需要测试访问某件商品的详情页的cgi,这是商品id我们不能写死某一个具体的id号,所以我们就得动态的从搜索或者列表页去取,从body中利用jmeter的正则提取器,把所有的商品id全给取出来,然后随机取一个放到我们事先定义好的变量:product_id(举个例子,不一定是这个名字)中,在把这个id拼到url中……

你想想,这是这个功能是不是派上用场了!当然,提取id的script你可以自己写喽,哈哈!

以上是关于JMeter——运用BeanShell给自定义的变量动态赋值的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter-BeanShell断言的运用一(JSON响应数据与数据库比对)

Jmeter-BeanShell PostProcessor提取请求及响应结果并保存到本地文件

Jmeter中的函数和BeanShell

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

jmeter-BeanShell PreProcessor的使用

jmeter,BeanShell PreProcessor简单使用引入jmeter参数