当前位置: 首页 > 知识库问答 >
问题:

变量在jmeter beanshell采样器中赋值为空值

百里承业
2023-03-14

嗨,我正在尝试将从一个采样器中提取的值分配给beanshell脚本中的另一个变量。我有下面的beanshell脚本。

  vars.put("linkArr",vars.get("${PlanLinksArray_1}"));

jmeter中的文本请求显示beanshell采样器的如下内容

vars.put("linkArr",vars.get("9PacMiSVl6GIQAtco747NQ"));

但linkArr变量在调试采样器中显示为空值。

为什么当我期望9PACMISVL6GIQATCO747NQ值被赋给linkArr变量时,却得到一个空值。请建议

共有1个答案

晋功
2023-03-14

您尝试获取名为9PACMISVL6GIQATCO747NQ的变量的值。由于这样的变量不存在,您的vars.get返回NULL。

这是因为

  1. 变量${}得到解析并成为字符串值。
  2. 将执行beanshell函数,并尝试获取具有第一个解析变量名的变量。

一般而言:在beanshell中,几乎从不需要${}(除了非常特殊的用途)。

vars.put("linkArr",vars.get("PlanLinksArray_1"));
 类似资料:
  • = 赋值操作符(它的左右两边不能有空白符) 不要搞混了 = 和 -eq,-eq 是比赋值操作更高级的测试。注意:等于号(=)根据环境的不同它可能是赋值操作符也可能是一个测试操作符。 例子 4-2. 简单的变量赋值 1 #!/bin/bash 2 # 裸变量 3 4 echo 5 6 # 什么时候变量是“裸”的?比如说,变量名前面没有$? 7 #当变量被赋值

  • 它有一个空间的目的是什么?

  • 通过函数构造函数创建变量时它们似乎被声明为VAL。由于VAL不能重新赋值(出于某些原因,我需要这样做),我想知道是否有办法在函数之前的一行代码中将变量声明为var,然后通过函数赋值。 请记住,我昨天才开始学习静态编程语言。我对所有替代方案都持开放态度。 公共趣味单打(enemyhealth:Int,enemyattack:Int,enemyname:String) 当我尝试重新分配敌人的健康时,我

  • 我的代码是这样的: 但最后一句话: 总是停止编译说我需要给新变量分配一个返回值?在if语句之前,已经为k分配了一个值。当我把随机k语句放在if语句中时,它似乎是有效的,但这使得它毫无价值,不是吗?编辑器本身没有错误,但是当我编译时,它给了我这个: 线程“main”java中出现异常。lang.IndexOutOfBoundsException:索引:41,大小:36。util。ArrayList。

  • 原文: http://exploringjs.com/impatient-js/ch_variables-assignment.html 下面这些是 JavaScript 声明变量的主要方式: let用来声明可变变量。 const用来声明常量(不可变变量)。 在ES6之前,还有var。但它有些怪癖,所以最好在现代JavaScript程序中避免使用它。你可以在“Speaking JavaScript