根据CSV中的值评估Jmeter中的If条件
由于我对jmeter缺乏了解,我在一些简单的事情上遇到了很多问题 我的测试包括:根据CSV中的值评估Jmeter中的If条件,csv,if-statement,jmeter,conditional,Csv,If Statement,Jmeter,Conditional,由于我对jmeter缺乏了解,我在一些简单的事情上遇到了很多问题 我的测试包括: CSV Data Set config Http Request If controller(containing Json Path extractor and an assertion) 我只希望在CSV中的特定变量设置为“Y”时执行If语句的内容 CSV中的变量名=检查\u选择器的\u 我在IF上设置的条件是“${Check\u For\u Selector}”=“Y” 这不管用,我也不知道为什么 请注意,
CSV Data Set config
Http Request
If controller(containing Json Path extractor and an assertion)
我只希望在CSV中的特定变量设置为“Y”时执行If语句的内容
CSV中的变量名=检查\u选择器的\u
我在IF上设置的条件是“${Check\u For\u Selector}”=“Y”
这不管用,我也不知道为什么
请注意,我使用的是Jmeter 2.13(被迫使用它而不是3.1)
我到底做错了什么?在JavaScript中,您需要使用
==
操作符才能喜欢它
有关如何借助Dmitri所述的有条件地执行JMeter采样器的更多详细信息,请参阅,您必须使用
=
而不是=
运算符进行比较
如果仍然不工作,请检查以下内容: 在其作用域中,如果没有任何封闭的采样器,则不应保留
后处理器和断言
(还有前处理器
)。如果在它们的范围内没有采样器,它们将不会被执行
正如您所说,JSON路径提取器和断言
位于If控制器
内,它们的作用域现在仅限于控制器,它们不知道采样器(HTTP请求
,位于If控制器
外),JMeter
不会执行它们
解决方案:
将HTTP请求
作为HTTP请求
的子项保留在If控制器
中或JSON路径提取器和断言
中
参考资料:
我一直在看那篇文章,它对我来说没有什么意义。我已经按照您的建议尝试了求值,但它无法执行If语句的内容。假设您的
${Check\u For\u Selector}
变量等于Y
,则上述表达式应该可以工作。If控制器只能执行采样器,所以您需要在If控制器下有一个采样器。1.检查jmeter.log文件的内容。2.使用组合检查${Check_For_Selector}
变量值。仅当csv中的值正确时,您可以建议执行JSON路径提取器和断言的替代方法吗?据我所知,没有替代方法。规则是将前后处理器和断言保持在采样器的范围内。您必须遵守定义的范围规则。感谢您在这方面的帮助。我认为主要的问题是,我正在测试的记录非常复杂,不适合在Jmeter中进行测试。话虽如此,我现在已经成功地重新配置了脚本,以消除使用一组“if”语句时收到的多余日志警告。虽然不漂亮,但至少能用。
"${Check_For_Selector}"=="Y"