zoukankan      html  css  js  c++  java
  • Jmeter跨线程组传递参数

    Jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的。

    但有时候为了方便,可以把不同模块接口放在不同线程组,就涉及不同线程组传参问题,比如跨线程组传递token

     方法:jmeter本身的内置函数中,“__setProperty”函数可以把某参数的值设置成jmeter本身的内置属性,而jmeter的内置属性是所有线程组都可以调用的,是全局变量。各个线程组调用时,只需使用调用jmeter属性的函数“__P”来调用相应的属性即可。

     steps:

    在登录请求中添加一个正则表达式提取器,提取响应值中的token的值。

    然后再添加一个 Bean Shell PostProcessor 的后置处理器,在这个处理器中调用“__setProperty”函数,设置正则提取到的token的值为全局变量。

    在另外一个线程组中通过函数“__P”来调用token。

     流程:

    新增正则表达式,提取token

    新增BeanShell PostProcessor:

     

    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内置属性。

     3. 其他线程组调用token的值, ${__P(token)}

  • 相关阅读:
    .NET 4.5 异步IO
    使用MANIFEST.MF文件来track War包做持续部署
    .NET 4.5 压缩
    自定义实现URL重写 04.18
    对.Net Framework的认识
    那点所谓的分布式——memcache
    不能选择FreeTextBox下拉列表框
    实战架构设计
    LoadRunner压力测试心得总结
    JavaScript的模块化:封装(闭包),继承(原型)
  • 原文地址:https://www.cnblogs.com/87060524test/p/10595364.html
Copyright © 2011-2022 走看看