当遇到如跨线程组调用变量等情况,需要设置全局变量。

1、打开函数助手

输入需要的值然后点击生成按钮,或者直接使用${__setProperty(newuserid,${userid},)}的格式

设置局部变量userid和token为全局变量并在另一线程中调用,调用方式见下

${__property(变量名)}

业务场景
一、登录系统后进行商品购买,进行做接口并发。

1、首先分了两个线程组login、pay_buy_finish 如图:

 

2、获取接口A正则表达式提取的session_sid作为全局变量,login线程只运行1次。如图:

 

3、把获取的sid 作为全局变量传递给线程组pay_buy_finish 中的请求使用:如图:

 

4、运行结果是这样:
线程组login 运行1次

 

pay_buy_finish运行5次
4次错误结果:

 

1次正确结果:

 

线程组pay_buy_finish总共运行5次,其中4次取值都不正确,只有1次取值正确。 如果有同学知道原因的请留言!

「原创声明:保留所有权利,禁止转载」
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。 除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。 具体请参见TesterHome 知识产权保护协议
共收到 10 条回复时间 点赞

图形界面没关闭过的情况下,上次运行时的__setProperty会一直在,比如设置了属性A=11;下次运行的时候初始A就=11,然后才是被重新赋值,看你的查看结果树是在2个线程组下的,你可以把它拉到外面,看下login、pay_buy_finish的执行顺序,如果是这个原因,可以把login改成setup的

Mr.W #2 · 2017年08月15日 作者
对 北溟 #1回复

我在nogui 下运行也是如此,貌似和关闭图形界面没关系

对 北溟 #1回复

正好也解决了我的疑问 十分感谢!

对 Mr.W #2回复

另外我还有一个问题想要请教:设置全局变量后,在其他线程组中可以使用使用__property获取到该全局变量,可是该全局变量如何在beanshell中使用呢?

 Mr.W 关闭了讨论 08月15日 12:50
 Mr.W 重新开启了讨论 08月15日 13:22

${__property (x)}也可以直接用在beanShell中的,但是就是简单的替换,我觉得用props.get("x")会更加安全,否则x属性值有特殊字符时,遇到一些逻辑处理可能就会有问题,比如字符串相加等,beanShell窗口最下面有说明的有哪些可以用的内置对象

对 北溟 #7回复

setup中定义全局变量x,然后在其他线程组中beanshell里直接使用${__property (x)}会报错: Attempt to access property on undefined variable or class name ,使用props.get("x"),提示“ Undefined argument: x”

之前遇到过这个问题,我的解决方式是:在beanshell中设置参数:${__property(x)},然后在beanshell script中使用bsh.args[0]进行获取,可是我不是很喜欢这种方式~~

props.get("x") 你这个报错的话Undefined argument: x
检查下是不是没加引号?

 
对 北溟 #9回复

哈哈~~果真 tks!!!

谢楼主帖子!

jmeter如何设置全局变量以及调用方法的更多相关文章

  1. jmeter如何设置全局变量

    场景:性能测试或者接口测试,如果想跨线程引用(案例:A线程组里面的一个输出,是B线程组里面的一个输入,这个时候如果要引用),这个时候你就必须要设置全局变量;全链路压测也需要分不同场景,通常情况,一个场 ...

  2. Struts2 动态调用方法

    struts2动态调用方法有两种方式 方式一:用通配符进行调用: Action方法: package com.bjyinfu.struts.actions; public class CatchDyn ...

  3. ios开发中全局变量设置和调用方法

    ios开发中,全局变量设置和调用方法如下:在AppDelegate.h文件中设置全局变量:@interface ***AppDelegate{NSString *myName;}@property ( ...

  4. angularjs 设置全局变量的3种方法

    angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用. 1,通过 ...

  5. [转]angularjs 设置全局变量的3种方法

    本文转自:http://blog.51yip.com/jsjquery/1601.html angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是 ...

  6. jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

    jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法   在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...

  7. JS访问或设置cookie的方法+跨域调用方法

    无意中从163网站获取的JS访问或设置cookie的方法,Log到日志上以防遗忘 //COOKIE功能检查function fCheckCookie(){    if(!navigator.cooki ...

  8. destoon6.0调用公司设置任意信息的方法-最新

    destoon6.0调用公司设置任意信息的方法 用法: 把以下函数加入到api/extend.func.php 中 function company_setting($userid, $key = ' ...

  9. Linux里设置环境变量的方法(export PATH)

    1.动态库路径的设置 Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下 export LD_LIBRARY_PATH ...

随机推荐

  1. 机器学习 Support Vector Machines 3

    Optimal margin classifiers 前面我们讲过,对如下的原始的优化问题我们希望找到一个优化的边界分类器. minγ,w,bs.t.12∥w∥2y(i)(wTx(i)+b)⩾1,i= ...

  2. Solaris/Linux 命令手册

    无意翻到之前收藏的一个文档,共享一下. Solaris/Linux 命令手册 1. 系统 # passwd:修改口令 # exit:退出系统 2. 文件 # cp:复制文件或目录,参数:-a递归目录, ...

  3. 【LeetCode】085. Maximal Rectangle

    题目: Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's ...

  4. 逐步改用 IronPython 开发你的 ASP.NET 应用程序

    IronPython for ASP.NET 的 CTP 已经发布有一段时间了,我们在看了官方提供的范例之后,相信对一个 ASP.NET 应用程序中完全使用 IronPython 开发还是有一些担心的 ...

  5. javascript:function 函数声明和函数表达式 详解

    函数声明(缩写为FD)是这样一种函数: 有一个特定的名称 在源码中的位置:要么处于程序级(Program level),要么处于其它函数的主体(FunctionBody)中 在进入上下文阶段创建 影响 ...

  6. BZOJ1150:[CTSC2007]数据备份

    浅谈堆:https://www.cnblogs.com/AKMer/p/10284629.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?id ...

  7. bzoj 3144 切糕 —— 最小割

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3144 每个点拆成 R 个,连成一条链,边上是权值,割掉代表选这一层: 然后每个点的第 t 层 ...

  8. logback个人使用配置

    提供一个目前个人供词使用的,无需日志汇总的日志配置文件: <?xml version="1.0" encoding="UTF-8"?> <co ...

  9. MySQL函数不能创建的解决方法(转)

    在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况.下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考. 出错信息大致类似: ERROR 1418 (HY000): Thi ...

  10. Poj 1077 eight(BFS+全序列Hash解八数码问题)

    一.题意 经典的八数码问题,有人说不做此题人生不完整,哈哈.给出一个含数字1~8和字母x的3 * 3矩阵,如: 1  2  X            3 4  6            7  5  8 ...