【问题标题】:Why "JMeterThread.last_sample_ok" is set to true on assertion failure为什么“JMeterThread.last_sample_ok”在断言失败时设置为 true
【发布时间】:2014-10-26 05:41:51
【问题描述】:

jmeter 文档说

http://jmeter.apache.org/usermanual/component_reference.html#assertions

在采样器的所有断言都运行后,变量 JMeterThread.last_sample_ok 被更新为“true”或“false”。

我的测试计划中有一个 http 采样器,它通过几个重定向执行登录。

有趣的是,我发现 JMeterThread.last_sample_ok 即使在我的断言失败后也设置为 true。我正在使用响应断言在登录后断言一个字符串。即使断言失败,该变量也设置为 true。这也会导致下一个“如果控制器”继续进行错误响应。我是不是错过了什么。

在此先感谢您的帮助。

【问题讨论】:

  • 您能否展示您的测试计划并放大最后一个样本和 ifcontroller 条件?谢谢
  • 任何使用 apache Jmeter 3.0 的人,都需要小心在线程中使用调试采样器。当我们使用条件 ${JMeterThread.last_sample_ok}==true 时,Jmeter 会查看最后一个采样器结果并检查它是否成功运行。 如果调试采样器位于断言和下一个 if 条件之间,那么即使前一个请求断言失败,${JMeterThread.last_sample_ok} 的值也将始终为真。来源:sqa.stackexchange.com/questions/20732/…

标签: load jmeter performance-testing jmeter-plugins


【解决方案1】:

对于我的 Apache JMeter 2.11,一切正常。

我在 If Controller 中使用${JMeterThread.last_sample_ok}==false 条件

查看Debug SamplerView Results Tree Listener 组合,我可以发现采样器的“JMeterThread.last_sample_ok”变量值为“false”,因断言而失败。

因此,请仔细检查 If Controller 中的子句,并可能在启用调试采样器和查看结果树侦听器的情况下执行试运行。查看How to debug your Apache JMeter script 了解有关 JMeter 脚本调试技术的详细信息。

【讨论】:

    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 2019-08-14
    • 2019-01-19
    • 2020-12-30
    • 1970-01-01
    相关资源
    最近更新 更多