在JMeter的用户参数中,如何将变量设为小写?
左栏
my_lowercase_variable
右栏
${__BeanShell('${my_variable}'.toLowerCase())} //fails
或
${__javaScript('${my_variable}'.toLowerCase())} //fails
${my_lowercase_variable}
是${my_variable}
的小写字母。尝试引用,没有和逃避等。没运气。欢迎任何技巧或提示。
答案 0 :(得分:3)
自我注意。
结果是BeanShell Sampler中的两个内联而不是__BeanShell命令。不幸的是,不完全在示例中。
我在Thread Group下添加了BeanShell Sampler,然后创建了一个变量。表格中没有参数只需要下面的两个衬垫脚本。只要我不更改变量,我就可以将数据复制到另一个变量,而是更改它,然后在需要的地方对其进行值引用。
首先在某些用户参数等中定义变量 即:
Name: my_initial_reference
Value: ITS IN CAPS
在用户首选项或定义列表下添加Bean Sampler(下一步,它不是子进程)
投入:
String blah = "${my_initial_reference}"; //
vars.put("blah", blah.toLowerCase()); //${blah} = "its in caps" now available
现在,使用名称/值对,我可以将$ {blah}映射为任何进程名称所需的值。
请注意,Debug响应仍将以大写字母显示初始值,但您也会看到blah = it in caps,这是我想要使用的。
答案 1 :(得分:2)
Response code: 500
Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String blah = AAP; vars.put("blah", blah.toLowerCase()); //${blah} now availab . . . '' : Typed variable declaration : Void initializer
我添加了两个双引号来解决它:
String blah = "${my_initial_reference}";
vars.put("blah", blah.toLowerCase()); //${blah} now available
答案 2 :(得分:2)
只需添加功能
即可${__lowercase(${VAL},VALUE)}
${__uppercase(${VAL},VALUE)}
注意:VAL可以是相关值或对数值(e.r VAL = TO LOWER或VAL = TO UPPER)。我们可以在beanshell(预处理器/后处理器/采样器)中使用此功能。 Jmeter版本使用(2.6)。
可以在脚本中的任何位置使用它作为$ {VALUE}。
答案 3 :(得分:2)
${__javaScript('${foobar}'.toLowerCase())}
确实有效。如果输出为${foobar}
而不是desired value
,则表示该变量尚未声明
请注意,变量仅在 “用户定义的变量”组件已解析之后定义。变量不能在单个“用户定义变量”组件中重用,例如:
该图像中的第二行将无法引用第一行中的变量my_variable
。为了能够引用第一个变量,需要两个“用户定义变量”组件。第一个变量将在第一个组件中,第二个变量在第二个组件中,例如:
有了这个,${my_lower_case_variable}
将成功转换为some value
。
${__BeanShell("${my_variable}".toLowerCase())}
也有效。 (请注意,Bean Shell 需要双引号。问题中的代码使用单引号。)
另一种方法是使用vars.get
:
${__javaScript(vars.get('my_variable').toLowerCase())}
${__BeanShell(vars.get("my_variable").toLowerCase())}
答案 4 :(得分:0)
此用法中的beanshell和JavaScript函数将失败,因为它们不会导入您需要的包以使用.toLowerCase
。
如果你真的需要使用一个函数来转换大小写(而不是首先将它们声明为小写),你可能需要编写一个完整的beanshell后处理器脚本来导入所需的包。
答案 5 :(得分:-1)
var blah =“ $ {my_initial_reference}”;
blah.toLowerCase();