新建beanshell sampler
脚本框中键入脚本如下:
[java] view plain copy
result = “\n1:”+bsh.args[0]+”\n”; //1:从参数框中获取参数变量,不适用
result+=”2:
testBeanshell\n”//2:直接获取变量,操作方便,非常适用result+=”3:”+vars.get(“testBeanshell”);//3:从vars内置变量中获取变量,适用vars.put(“testBeanshell”,”beanshellchange”);//改变变量值result+=”\n4:
t
e
s
t
B
e
a
n
s
h
e
l
l
\n
”
/
/
2
:
直
接
获
取
变
量
,
操
作
方
便
,
非
常
适
用
r
e
s
u
l
t
+
=
”
3
:
”
+
v
a
r
s
.
g
e
t
(
“
t
e
s
t
B
e
a
n
s
h
e
l
l
”
)
;
/
/
3
:
从
v
a
r
s
内
置
变
量
中
获
取
变
量
,
适
用
v
a
r
s
.
p
u
t
(
“
t
e
s
t
B
e
a
n
s
h
e
l
l
”
,
”
b
e
a
n
s
h
e
l
l
c
h
a
n
g
e
”
)
;
/
/
改
变
变
量
值
r
e
s
u
l
t
+
=
”
\n
4
:
{testBeanshell}”//4:直接获取不生效,因为jmeter还没有对其进行复制
result+=”\n5:”+vars.get(“testBeanshell”);//:5:值改变,容易理解
ResponseCode = 500;//回写请求响应代码,借鉴的http响应码
ResponseMessage = “test ok!!”;//回写响应信息
IsSuccess = true;//回写响应结果
log.info(“\nlog test:”+result);//调用jmeter内置log对象,日志会打印到jmeter.log中
SampleResult.setResponseData(“SampleResult:”+result+”\n”);//回写响应数据,SampleResult为jmeter内置回写结果对象,有很多可用方法,可以参看源码
return “return:”+result;//这里的返回值,相当于调用SampleResult.setResponseData()方法,注意使用的return关键字,后面的行都不会执行,且SampleResult.setResponseData(“SampleResult:”+result+”\n”);也不会执行,这里会被return的结果覆盖。但是用SampleResult.setResponseData()方法回写,后续还可以接代码行,因此建议不用return进行回写响应数据。
附图和步骤
1.构建测试计划
2.新建用户变量
3.结果展示