目录[-]

http://jmeter.apache.org/index.html 官方文档

Jmeter先将“jmeter-plugins-manager-1.3.jar”文件,放到lib/ext目录下,这时候,Jmeter就出现Plugins Manager

勾选这个进行下载,就可以使用这个插件了。

__setProperty 函数的意思,就是设置将变量设置为全局变量

String GPhoneNumber = bsh.args[0];

#java的用法,创建一个字符串 字符串的值,bsh.args[0]按顺序取第一个值,跟正则表达式一起使用

${__setProperty(G_requestPhoneNumber,${GPhoneNumber},)};

${__P(G_requestPhoneNumber,)}

__P或者__property函数,是用来访问全局变量的

第一种方法:使用简单的方法,一步得到数据

我自己使用的方法,在之前POST一个Gtoken

String Gtoken = bsh.args[0];

${__setProperty(G_requestToken,${Gtoken},)};

其他线程如果要使用token,使用第一种方法更方便,写法不好看

${__P(G_requestToken,)}     //在其他线程组使用这个就可以传递参数了

————

第二种方法:使用两个处理器,前置和后置(这个方法更加科学轻便)

前置可以放在最上面,先写后置,然后补充前置,注意,后置的parameters需要有值

前置的新名字newtoken,第二个线程组就可以进行调用了

左边的是后置,右边的是前置

String token=bsh.args[0];

${__setProperty(token,${token},)}; 注意,标点符号不要写错了,这个是后置的

// 传递登录后的token

String newtoken=props.get("token");

vars.put("newtoken",newtoken); 

// props.get用来得到前置处理器的“token”参数,vars.put用来赋值给新的变量

————

Jmeter断言,Beanshell脚本断言

——————

BeanShell脚本计算方式

 

String Quantity = vars.get("orderQuantity10"); //先从用户自定义变量取出一个变量

String price = vars.get("price10"); //同上

int a = Integer.parseInt(Quantity); //将变量转成int类型

int b = Integer.parseInt(price); //同上

c=a * b;

vars.put("sumMoney",c.toString()); //将结果转为string类型,存储到变量sumMoney

————————

计数器的使用方法

 

比如登录之后,有多个企业数据,想要拿到第二个,但是问题来了,如果想用循环来拿到这个值,而不是直接数数字来拿,该怎么弄

整体上的设计结构如下,先整个循环控制器,设置要循环调用几次接口

计数器用来显示递增规则,以及每次递增的数字的变量名

而这里,和正则表达式一个道理,使用变量来代替原来的固定数字,更加灵活

再之后,使用if判断语句,如果得到的code或者name是自己想要的值,再进行下面的请求

注意,if判断语句,必须给左边的也加上分号,这里Jmeter3和4可能有所不同,记得4就不用加分号

foreach用法,用过一次之后,发现这个比计数器和循环更加方便,减少了不必要的接口调用

第一步:使用正则得到一系列自己想要的数据,这里要拿全部的企业code

第二步:直接插入一个ForEach控制器,这样输出xcompanyCode时,可以输出所有的企业code

第三步:

最后加上断言或Beanshell Sample,就可以得知结果