Jmeter断言之响应断言

本文详细介绍了JMeter中的断言组件,它类似于LoadRunner的检查点,用于验证测试响应数据。断言在请求层面增加判断,确保即使HTTP状态码为200,也能检查结果是否正确。作者展示了如何添加响应断言、查看断言结果以及使用其他拓展断言功能。

jmeter 中有个元件叫做断言(Assertion),它的作用和 loadrunner 中的 检查点 类似;用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。

  使用断言的目的:在 reques t的返回层面增加一层判断机制;因为 request 成功了,并不代表结果一定正确。所以通过断言,我们不再会被 200 所迷惑,而是可以通过断言,看到我们请求是否真正的成功。

使用方法:

  • 给某个请求添加好断言
  • 添加对应的断言结果监听器

1、响应断言

位置:

添加断言:

2、如何查看断言是否正确:添加断言结果

添加断言结果

位置:

断言成功与断言失败结果如何展示:

3、其他拓展断言

匹配其他范围、匹配其他模式

JMeter中,XPath断言用于验证接口返回的数据是否符合预期,尤其适用于响应内容为 HTML 或 XML 格式的情况。XPath 是一种用于导航和选择 XML 文档中节点的语言,通过 XPath 表达式可以精准定位到文档中的特定部分,并进行断言判断。 ### 添加 XPath 断言的方式 在 JMeter 的测试计划中,找到需要添加断言的请求,右键点击该请求 -> 选择“添加” -> “断言” -> “XPath Assertion”,即可添加 XPath 断言组件。 ### 配置步骤 1. **XPath 表达式输入** 在 XPath Assertion 界面中,输入用于匹配响应数据的 XPath 表达式。例如,如果响应为 XML 格式且包含一个 `<title>` 标签,可使用表达式 `/response/title` 来匹配该节点。 2. **验证表达式正确性** 点击“Validate”按钮可以验证当前输入的 XPath 表达式是否正确。如果表达式格式错误,JMeter 会提示错误信息[^2]。 3. **设置断言匹配规则** - **True if nothing matches**:如果勾选该选项,当没有任何节点匹配时,断言将被视为成功;否则为失败。 - **Use Tidy**:当响应为 HTML 格式时应启用此选项,以容忍 HTML 的不规范格式。 - **Use Namespaces**:启用该选项后,XPath 解析器会识别命名空间。 - **Validate XML**:若启用,JMeter 将根据 XML Schema 或 DTD 验证响应内容。 - **Ignore Whitespace**:忽略空白字符,防止因格式问题导致断言失败。 - **Fetch external DTDs**:启用后,JMeter 将加载外部 DTD 文件,用于解析包含外部声明的 XML 响应[^4]。 4. **作用范围(Apply to)** - **Main sample and sub-samples**:断言作用于主请求及其所有子请求。 - **Main sample only**:仅作用于主请求。 - **Sub-samples only**:仅作用于子请求。 - **JMeter Variable**:指定变量名,断言将作用于该变量的内容[^3]。 5. **运行测试并查看结果** 在配置完成后,清除之前的测试结果,点击“Start”运行测试。测试成功时,断言结果不会报错;若断言失败,响应数据中将显示具体错误信息,例如 XPath 表达式语法错误等[^2]。 ### 示例配置 假设接口返回如下 XML 数据: ```xml <response> <title>Example Title</title> <data> <item id="1">Item One</item> <item id="2">Item Two</item> </data> </response> ``` 若要验证 `<title>` 标签是否存在且为 `"Example Title"`,XPath 表达式可设置为 `/response/title`,期望填写 `"Example Title"`。 ### 示例代码片段(XPath 表达式) ```xpath /response/title ``` 若希望断言 `<item>` 节点数量是否为 2,可使用如下表达式: ```xpath count(/response/data/item) ``` 并在断言中设置期望为 `2`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值