jmeter如何设置全局变量

场景:性能测试或者接口测试,若是想跨线程引用(案例:A线程组里面的一个输出,是B线程组里面的一个输入,这个时候若是要引用),这个时候你就必需要设置全局变量;全链路压测也须要分不一样场景,一般状况,一个场景就是一个线程组;shell

实现方法:beanshell脚本和函数助手_setPerproty,目前这种方法均可以跨线程的全局变量;json

操做流程以下:beanshell脚本以下:函数

  1.  输出结果的处理,使用方法正则、json提取器或者json/yaml,提取的教程这里就不须要赘述,等我有空专门或者大家百度去

     

  2. 提取的数据后面加上beanshell后置处理器,脚本以下

    String userId=bsh.args[0];
    //print (token);
    ${__setProperty(newtoken,${token},true)}性能

  3. 全局变量设置了就须要引用了,这里我就讲述2种引用方法,第一个很简单,在另一个线程组对应的参数后面,直接把上述全局的前部分拿来就用,即${__setProperty(newtoken,)};还有一种就是使用__P函数,${__P(newtoken,0000)},0是默认值,都是能够调用;

还有另一种方式设置全局变量:测试

  1. 增长beanshell sampler,在须要提取的请求后面;
  2. 打开函数助手:Ctrl+shift+f1;找到setProperty函数,填写设置变量名称和将那个变量设置为全局变量:第一个值是下一个线程引用的名称,第二个值是被设置全局的变量,第三个是默认值;

    3.将函数助手生成的脚本,复制粘贴在步骤1里面;${__setProperty(newtoken,{token},0000)}线程

    3.引用的方法和上面的同样,没有什么区别blog

相关文章
相关标签/搜索