由于我对jmeter缺乏了解,因此应该简单地解决一些问题。
我的测试包括:
CSV Data Set config
Http Request
If controller(containing Json Path extractor and an assertion)
如果CSV中的特定变量设置为“Y”,我只希望执行If语句的内容。
CSV中的变量名= Check_For_Selector
我放在IF上的条件是"${Check_For_Selector}"="Y"
这不起作用,我无法理解原因。
请注意我使用的是Jmeter 2.13(强制使用此而不是3.1)。
我到底做错了什么?
答案 0 :(得分:1)
在JavaScript中,您需要使用InputBox()
运算符与compare two strings类似
Dim FirstYear As Long
On Error Resume Next
Do
Err.Clear
FirstYear = InputBox(prompt:="Enter the first year you wish to import")
Loop While Err <> 0 Or Not IsNumeric(FirstYear)
On Error GoTo 0
有关如何在How to Use JMeter's 'IF' Controller
的帮助下有条件地执行JMeter采样器的更多详细信息,请参阅If Controller答案 1 :(得分:1)
正如Dmitri所提到的,您必须使用==
代替=
运算符进行比较。
如果仍然无法正常工作,请查看以下内容:
您不应该保留Post-Processors and Assertions
(另外,Pre-processors
),而不在其范围内包含任何封闭的采样器。如果范围内没有采样器,则不会执行它们。
正如您所保留的,JSON Path Extractor & Assertion
位于If Controller
内,其范围现在仅限于控制器,他们不知道{HTTP Request
之外的If Controller
1}}),JMeter
不会执行它们。
解决方案:
将HTTP Request
保留在If Controller
或中保持JSON Path Extractor & Assertion
为HTTP request
的孩子。
参考文献: