我有2个get api,我用json提取器从其中提取了一个变量,从一个api中提取了标题,从其他类似的api中提取了标题。
第一个API的标题值为:{苹果,菠萝,蓝莓,樱桃}
第二个API的标题值为:{苹果,蓝莓,樱桃,菠萝,猕猴桃}
我想用if控制器检查一个条件,只有当title和title和title都相同时,它才应该移动到下一个控制器做进一步的操作。这if控制器在foreach控制器内。
因此在if控制器中,我使用了如下条件:
所有的标题)}
当我运行脚本的所有情况下,这个条件是通过,所以苹果文件夹标题也比较与樱桃和条件是成为真,并进一步进行。我只希望苹果到苹果比较通过(1对1)。
我认为title和titles值在for each控制器中没有正确提取,但我使用了正确的json提取器,因为在foreach控制器之外,我使用了bean shellAssert,并将它们进行了比较,所有值都正确提取。
json提取器使用了标题变量的详细信息:变量:标题路径:$..标题匹配号:-1选中后缀_ALL框
同样的方式也用于标题。
请帮帮我!!为什么当标题和标题是不同的值时,条件不会失败。
1条答案
按热度按时间zpgglvta1#
如果定义了以下JMeter Variables:
则If控制器中的表达式将永远不会为真,因为值不相同。
如果你想逐一比较它们,你应该比较
${title_1}
和${titles_1}
,${title_2}
和${titles_2}
,等等。示例表达式:
您可以使用Debug Sampler and View Results Tree listener combination查看变量的当前值。
如果在匹配的情况下,您不想继续比较,而想继续进行下一次迭代或退出ForEach循环-请查看流控制操作采样器
小型演示: