Jmeter中的XPath Assertion

本文介绍了XPath在JMeter中的使用方法,包括XPathAssertion的几种写法,如检查包含特定文本、排除特定文本及查找错误代码等,提供实用案例帮助理解XPath在自动化测试中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。

因此,对 XPath 的理解是很多高级 XML 应用的基础。

Jmeter中的XPath Assertion,拷贝几种写法,备忘

contains(//script/text(),"reversePopUp")

not(contains(//script/text(),"reversePopUp"))

//Error[Code=0]

 

转载于:https://www.cnblogs.com/MasterMonkInTemple/p/3520464.html

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、付费专栏及课程。

余额充值