zoukankan      html  css  js  c++  java
  • jmeter 之 BeanShell PostProcessor跨线程全局变量使用

     BeanShell PostProcessor是用户对一些变量的操作,操作方法很灵活,大概原理是通过parameters传回来对象,然后在script中对对象进行操作

    场景:从登陆接口中获取token,设置成全局变量让HTTP Header Manager能获取到,让其他所有线程都能拿到这个参数

    1.在Test Plan下设置HTTP Header Manager,以及需要用的Header内容

    2.建立一个线程放置登陆接口,并提取token设置成全局变量

    提取token:

    设置全局变量:把上一步提取的token通过Parametres:把需要操作的参数传递给Bean Shell PostProcessor。

    • 前面提取出来的token的值,就把参数token写入Script:  string Token=bsh.args[0];  把Bean Shell PostProcessor接收到的参数值,赋值给某参数。0是第一个值。${__setProperty(requestToken,${Token},)};        调用函数__setProperty,把Bean Shell PostProcessor中的参数Token的值赋值给requestToken,并设置requestToken为jmeter内置属性。

    用函数助手获取__setProperty:

    函数传送门

    再用_P函数来引用:

    函数传送门

    这次脚本思路:

    登陆只登陆一次获取token后然后对某个接口进行压测,对接口进行压测就要设置线程,频繁的多余掉去登陆接口会造成资源浪费

  • 相关阅读:
    Codeforces_462_B
    Codeforces_460_B
    Codeforces_456_A
    2016.11.27
    Buy the Ticket{HDU1133}
    高精度模板
    盐水的故事[HDU1408]
    测试你是否和LTC水平一样高[HDU1407]
    完数[HDU1406]
    Air Raid[HDU1151]
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/10146229.html
Copyright © 2011-2022 走看看