运行负载测试时会出现不变的问题,任何HTTP请求可能会超时或服务器可能会返回自定义错误页面。我有一个可爱的jMeter脚本运行而不会发生任何错误,这是在低使用率下发生的事情。
如何修改此脚本,以便在发生错误时脚本重新运行导致错误的请求,直到它没有出现错误为止?例如,我有一个登录请求,如果失败,我不想继续,我想继续尝试,直到登录工作。我也不想再次启动脚本,因为如果页面在登录后失败,我不想再次登录。
我已经查看了线程组中的“继续下一个循环”,但我无法找到它实际上做了什么,它是否开始测试?它是否跳转到下一个循环逻辑控制器?我是否必须用循环包围所有请求?
由于 保罗
答案 0 :(得分:4)
如果任何一个采样器返回false,则继续下一个循环将重新启动整个线程组。
对于重试请求,您可以使用While Controller实现此目的。如果你有一个正则表达式提取器寻找只会在成功时出现的值 - 比如“登录成功”,然后告诉While Controller循环,而myvar!=“some text”你将实现你想要的。你显然想在这个循环中使用一个计时器。
但实际上,如果您的AUT在负载下出现错误,您可能更愿意花费修复应用程序的工作,而不是测试。如果测试运行有很多错误,如果它们是真实的,真正的应用程序错误,那么完全有效 - 你绝对不想掩盖它们。