根据CSV

时间:2017-02-27 16:36:50

标签: 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中的变量名= Check_For_Selector 我放在IF上的条件是"${Check_For_Selector}"="Y"

这不起作用,我无法理解原因。

请注意我使用的是Jmeter 2.13(强制使用此而不是3.1)。

我到底做错了什么?

2 个答案:

答案 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 & AssertionHTTP request的孩子。

参考文献:

  1. Scoping Rules