如何在 JMeter 中使用断言(响应示例)
什么是断言?
断言有助于验证您正在测试的服务器是否返回了预期结果。
断言类型
以下是一些在 JMeter 中常用的断言
- 响应断言
- 持续时间断言
- 大小断言
- XML 断言
- HTML 断言
- 使用响应断言的步骤
响应断言
响应断言允许您添加模式字符串,以与服务器响应的各个字段进行比较。
例如,您向网站 http://www.google.com 发送用户请求并获得服务器响应。您可以使用响应断言来验证服务器响应是否包含预期的模式字符串(例如“OK”)。
持续时间断言
持续时间断言测试每个服务器响应是否在给定时间内收到。任何超过给定毫秒数(由用户指定)的响应都将被标记为失败响应。
例如,JMeter 向 www.google.com 发送用户请求并在预期的 5 毫秒内获得响应,则测试用例通过,否则测试用例失败。
大小断言
大小断言测试每个服务器响应是否包含预期数量的字节。您可以指定大小等于、大于、小于或不等于给定字节数。
JMeter 向 www.google.com 发送用户请求并获得小于预期字节数 5000 字节的响应包,则测试用例通过。否则,测试用例失败。
XML 断言
XML 断言测试响应数据是否由格式正确的 XML 文档组成。
HTML 断言
HTML 断言允许用户检查响应数据的 HTML 语法。这意味着响应数据必须符合 HTML 语法。
使用响应断言的步骤
我们将继续在之前教程中开发的脚本。
在此测试中,我们使用响应断言来比较来自 www.google.com 的响应包是否与您的预期字符串匹配。
这是此测试的路线图
响应断言控制面板允许您添加模式字符串,以与响应的各个字段进行比较。
步骤 1) 添加响应断言
右键单击线程组 -> 添加 -> 断言 -> 响应断言
响应断言面板显示如下图
步骤 2) 添加要测试的模式
当您向 Google 服务器发送请求时,它可能会返回一些响应代码,如下所示
- 404:服务器错误
- 200:服务器正常
- 302:Web 服务器重定向到其他页面。这通常发生在您从美国境外访问 google.com 时。Google 会重定向到特定国家/地区的网站。如下图所示,google.com 重定向到 google.co.in(针对印度用户)。
假设您要验证 Web 服务器 google.com 响应代码是否包含模式 302,
在要测试的响应字段上,选择响应代码,
在响应断言面板上,单击添加 -> 显示一个新的空白条目 -> 在“要测试的模式”中输入 302。
步骤 3) 添加断言结果
右键单击线程组,添加 -> 监听器 -> 断言结果
步骤 4) 运行您的测试
单击线程组 -> 断言结果
当您准备运行测试时,单击菜单栏上的运行按钮,或快捷键 Ctrl+R。
测试结果将显示在断言结果面板上。如果 Google 服务器响应代码包含模式 302,则测试用例通过。您将看到如下所示的消息
现在回到响应断言面板,您将“要测试的模式”从 302 更改为 500。
由于 Google 服务器响应代码不包含此模式,您将看到测试用例失败,如下所示
故障排除
如果您在运行上述场景时遇到问题……请执行以下操作
- 检查您是否通过代理连接到互联网。如果是,请移除代理。
- 打开 JMeter 的新实例
- 在 JMeter 中打开 AssertionTestPlan.jmx
- 单击线程组 -> 断言结果
- 运行测试