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

    思路:将某一线程组内的变量通过“__setProperty”函数设置成jmeter的全局变量,在另一线程组中通过“__P”函数调用即可。

    1.添加-后置处理器-BeanShell PostProcessor

     

    Parametres:把需要操作的参数传递给Bean Shell PostProcessor。前面提取出来的cookie的值,就把参数cookie写入

    Script:  string cookie=bsh.args[0];     把Bean Shell PostProcessor接收到的参数值,赋值给某参数。0是第一个值。

                     ${__setProperty(newcookie,${cookie},)};        调用函数__setProperty,把Bean Shell PostProcessor中的参数cookie的值赋值给newcookie,并设置newcookie为jmeter内置属性。

    2.其他线程组中引用----${__P(newcookie,)}

    后记:

    (2018-10-09)

     这一功能真的很好用,并且我今天在工作中用到了:模拟用户连续登录两次,使用跨线程组的方式,两个线程组分别依次登录,由于登录后的操作要使用登录时获得的WorkspaceId,因此,第一次的WorkspaceId用beanshell取到,第二次登录后也取到WorkspaceId,不做任何操作,只添加一个Debug PostProcessor用于看取的结果。

    测试:两次的WorkspaceId值应该一致,但测试结果为不一致。

    分析:开始时我以为是我这个测试小白哪里搞错了,后来看到脚本思考了一下:

    1、WorkspaceId两次都取到了,没有报错,也没有报错信息;

    2、查看使用WorkspaceId的接口的响应信息,结果是本该显示的内容为空;

    3、分析业务功能,有没有可能是研发人员改了代码?询问过给到的答案是业务功能没变;

    4、查看数据库,发现该显示的内容库中没有,说明内容没有生成。

    这时候就可以提bug了,后来研发人员看了发现确实是他们的失误,有两个jar包没有替换过去。

  • 相关阅读:
    saltstack笔记
    saltstack学习篇
    tomcat学习篇
    memcache笔记
    sed、awk学习篇
    javascript function call
    jvm性能调优工具
    spring boot 单元测试
    activemq 分布式事务
    sringboot 集成dobbo2.5.3
  • 原文地址:https://www.cnblogs.com/yanwuliu/p/9657202.html
Copyright © 2011-2022 走看看