首页 > 解决方案 > 在 jMeter 中是否有特定的方法来执行字符串操作?

问题描述

我已经记录了一个测试脚本并使用正则表达式提取提取了一个字符串,并将其值设为(reportID):- /api/application/GetAsyncTaskProgress/fa38d781-c679-4e15-959f-1b953e3873f4

我想从上面的表达式中提取值 'fa38d781-c679-4e15-959f-1b953e3873f4'。

我尝试使用以下 JavaScript 函数提取值:-

${__javaScript(var testString= "${reportID}".split('/'); test = testString[testString.length - 1]; return test; ,returnID)}

但是,它不返回任何值。

标签: javascriptjmeter

解决方案


很可能你的正则表达式设计得不是很好,我相信你可以fa38d781-c679-4e15-959f-1b953e3873f4直接从响应中得到这个。

无论如何,有可能使用正则表达式提取器从 JMeter 变量中提取一个值,所以如果你有reportIDJMeter 变量的值,/api/application/GetAsyncTaskProgress/fa38d781-c679-4e15-959f-1b953e3873f4你可以使用下面的正则表达式提取器来获取这个fa38d781-c679-4e15-959f-1b953e3873f4值:

在此处输入图像描述

另请注意,从 JMeter 3.1 开始,您应该使用 JSR223 测试元素和 __groovy() 函数进行脚本编写,因为Groovy 在所有 JMeter 脚本语言中具有最佳性能,相关的 __groovy() 函数将类似于:

${__groovy(vars.get('reportID').substring(vars.get('reportID').lastIndexOf('/') + 1),returnID)}

推荐阅读