Jmeter beanshell全局变量设置

  • 需求背景:
    常常遇到这样的场景,做app接口测试过程中,B接口依赖A接口返回的值作为入参。
    A与B的功能范围如下场景:
    1)A与B属于同一个功能的上下游,此时可将A与B放在同一个线程组里。直接提取A中的返回值,并在B中通过${变量值}引用。
    2)A与B分别属于不同的功能模块,A相当于app中的公用模块,那么app中的很多功能都会引用到A的返回值作为入参,此时用1)的方法将A写到每个线程中显示得冗余且麻烦不好看,此时需要考虑到变量跨线程调用,也就是将A的返回值设置为全局变量!

备注:这里主要是想记录设置全局变量的实际操作及可能遇到的问题~

  • 设置全局变量
    步骤:
    1)提取变量
    2)使用beanshell设置全局变量
    3)其它线程组引用变量(变量生效)
    具体操作如下~
    1)提取变量
    Jmeter beanshell全局变量设置_第1张图片

    2)使用beanshell设置全局变量
    Jmeter beanshell全局变量设置_第2张图片

    Jmeter beanshell全局变量设置_第3张图片

    特别注意:
    当在函数中设置的全局变量名称与调用时写的变量名称一致时,会出现提取不值的情况~
    Jmeter beanshell全局变量设置_第4张图片

    3)其它线程组引用变量(变量生效)
    Jmeter beanshell全局变量设置_第5张图片
    Jmeter beanshell全局变量设置_第6张图片

有个问题:
为什么设置全局变量时,第一次设置函数可以设置成功并返回引用的变量值,第二次再设置同样的变量时,会出现空值或直接引用不成功的情况~

望知道的大神,解答,不胜感谢~

你可能感兴趣的:(Jmeter beanshell全局变量设置)