首页 > 解决方案 > JMeter 响应断言小写值

问题描述

在响应断言中,我有一些模式来测试这个值。

"isDefault":false,"companyId":"${__javaScript(${Company}.toLowerCase())}","folderPath":null

我不想更改变量 ${Company} 的值,我只想检查我收到的内容是否为小写。

这是断言结果:

断言错误:false 断言失败:true 断言失败消息:测试失败:文本应包含 /"isDefault":false,"companyId":"","folderPath":null/

标签: javascriptjmeter

解决方案


您需要${Company}用引号将变量引用括起来,例如:

"isDefault":false,"companyId":"${__javaScript("${Company}".toLowerCase(),)}","folderPath":null

请注意,不太推荐使用 __javaScript() 函数,因为 JavaScript 解释器的性能在高负载时可能是一个很大的问号,因此请考虑以下替代方法:

  1. 使用__groovy()函数,这是自 JMeter 3.1 以来推荐的脚本编写方法

    "isDefault":false,"companyId":"${__groovy(vars.get("Company").toLowerCase(),)}","folderPath":null
    
  2. 使用__lowerCase() 函数(这不是 JMeter 官方发行版的一部分,您需要使用JMeter Plugins Manager安装它)

    isDefault":false,"companyId":"${__lowercase(${Company},)}","folderPath":null
    

所有方法的演示:

JMeter小写转换变量


推荐阅读