我目前正在测试一个输出 json 的 Web 应用程序。我想确保 JSON 是有效的。我不想验证它的内容。如何在 jmeter 中实现断言以确保 json 响应有效?
谢谢!
我目前正在测试一个输出 json 的 Web 应用程序。我想确保 JSON 是有效的。我不想验证它的内容。如何在 jmeter 中实现断言以确保 json 响应有效?
谢谢!
如果要使用 groovy,请使用 beanshell 断言、jsr223 断言或 bsf 断言:
并使用一些 json 解析器解析响应:
Jmeter 会将先前的采样器响应作为脚本变量提供给您的脚本。
请注意,这可能会影响测试计划的性能,因为它的成本相当高。
问候
我通常使用javascript BSF Assertion。由于 JSON 是 javascript 对象,您可以尝试在 try-catch 块中评估响应,如果它失败,您可以显式地使先前的 SampleResult 失败。
try {
eval('var response = ' + prev.getResponseDataAsString());
} catch(e) {
prev.setSuccessful(false);
prev.setResponseMessage("Invalid response. Expected a valid JSON.");
}