jmeter - 第一次无法与其他线程一起使用令牌变量
问题描述
我创建了正则表达式后处理器以从某个 api 获取令牌并使用 beanshell-assertion(__setproperty()) 使变量成为全局变量。当我运行脚本时,我无法在该迭代中将当前令牌用于其他线程。它使用以前存储的变量令牌。我需要使用当前的。你能给我任何解决方案吗?谢谢。
解决方案
将您的令牌提取逻辑移动到setUp 线程组- 它在其他线程组之前执行,这样您就可以确信最新的令牌存储在 JMeter 属性中。
关于 Beanshell 断言:由于与 Beanshell 相比,Groovy 的性能要好得多,因此鼓励 JMeter 3.1 用户使用 JSR223 测试元素和 Groovy 语言,因此请考虑迁移到 JSR223 断言并使用如下代码:
props.put('your_property', vars.get('your_variable'))
或者,您可以使用__setProperty() 函数将变量转换为属性,此用例不需要脚本。
推荐阅读
- git - 如何直观地分析和跟踪 git repo 中的所有源代码和资产文件大小?
- python - 为什么从加速度转换后速度和位移会增加?
- php - 直接使用 db 行值或将 db 行值存储在 php 中的变量之间的区别
- sql - 从谷歌大查询中获取最大记录
- c++ - 如何在c ++中比较2个链表并将匹配的数据放入另一个链表
- python-3.x - 从 AJAX 向 Flask 发出 POST 请求时出现 500 响应
- excel - 使用 Set 和 .Find Range 时出现错误 91 / 438
- c++ - 尝试从 XamlApplication 编译 C++/WinRT 空白应用程序时,出现无法解析的外部符号 winrt_make_*
- python - 排列代码没有给出正确的结果
- angular - 如何将值传递给@Input Angular 8