zoukankan      html  css  js  c++  java
  • Jmeter跨线程组调用token

    1.正则提取token后添加:后置处理器-->BeanShell PostProcessor

    2.BeanShell PostProcessor写入函数${__setProperty(,,)}

    3.线程2中写入函数${__P(,)}调用,我的直接写入信息头管理器

    4.主要用到两个函数

    5.查看运行结果是否调取成功

    作者:丨Fighter.Lu丨 点滴记录,开源共享。帮助更多有需要的人解决问题!博主博客地址:http://www.cnblogs.com/fighter007/

    Jmeter 跨线程组传递参数 之两种方法

     

     终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直到登录接口的参数失效了,需再次发送一次登录接口,又可以多次使用其参数,下面举例子:

    1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过)

     响应结果是如下

     2.在登录接口下添加 BeanShell PostProcessor ,并写入脚本如下:

      

    3.在接口B下添加BeanShell PreProcessor,并编写脚本

     

    4.在需要用到登录接口参数的地方,${  }  引用变量即可

    以上用Json Path Extractor 的地方均可以用正则表达式来完成,由于本人对于正则表达式理解起来实在有点费劲,所以就在jmeter下安装的插件

    方法二:

    1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过)

    2.在登录接口下添加 BeanShell PostProcessor ,并写入脚本如下:

    String X-Timestamp=bsh.args[0];

    print (X-Timestamp);

    ${__setProperty(newstamp,${X-Timestamp},)};

    String X-Signature=bsh.args[1];

    print (X-Signature);

    ${__setProperty(newsig,${X-Signature},)};

    String X-Nonce=bsh.args[2];

    print (X-Nonce);

    ${__setProperty(newnonce,${X-Nonce},)};

     此种是设置全局变量的形式
    3.在接口B中直接引用全局变量即可   ${__P(newstamp,)}  

     如此,接口B即可能获取到跨线程组登录接口的响应参数
    ==========================================
    对比以上两种跨线程组传递参数的方法方法二更方便些,设置为全局变量后,其他只要用到登录接口参数的线程组,均可以直接引用,无需像方法一 一样添加Beanshell PreProcessor
     
     
     
  • 相关阅读:
    ES 使用小结
    TruncateATable 清除一张表
    js 排序,去重
    读高性能JavaScript编程 第四章 Conditionals
    读高性能JavaScript编程 第四章 Duff's Device
    c# AOP 文章地址
    String、StringBuffer与StringBuilder之间区别
    批处理命令
    C#中的is和as操作符
    c# 入门
  • 原文地址:https://www.cnblogs.com/a00ium/p/10360548.html
Copyright © 2011-2022 走看看