xpath提取器是常用的后置处理器之一,如果我们要对服务器响应的xml格式或html格式数据进行加工处理的话,可以使用传统的正则表达式提取器,但是在很多场合,使用xpath提取器进行提取会更加快速、准确。
1、Xpath语法
正如json提取器需要准确编写json表达式一样,xpath提取器也需要准确编写xpth表达式。这里简单说明一下xpath表达式的写法,xpath表达式分为相对路径和绝对路径两种写法,通常采用相对路径的写法。
(1)通过元素属性编写表达式://标签[@属性=‘属性值’],示例://input[@name='username']
同时使用两个属性定位://input[@name='username'and @class='input']
同名元素拥有某个属性而没有另一个属性://input[@name='username'and not(@class)]
(2)通过索引编写表达式:通过元素层级定位,示例://header/div/nav/ui/li[3]
(注意:xpath中序号从1开始)
(3)通过text编写表达式:text为完全匹配,需要输入全部文字;示例://a[text()='登录']
(4)通过contains编写表达式:contains为部分匹配,只需输入部分文字;示例://a[contains(text(),'登录')]
或//a[contains(text(),'登')]
(5)通过string编写表达式:元素内容被子元素截断时,通过text无法定位,可以使用string;示例://a[string()='登录']
2、Xpath提取器配置说明
xpath提取器具体配置说明如下
(1)apply to
Main sample and sub-samples:作用于主请求和子请求
Main sample only:仅作用于主请求
Sub-samples only:仅作用于子请求
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称);用法可用于提取jmeter变量中的值
(2)XML Parsing Options
UseTidy:当需要处理的页面是HTML格式时,必须选中该选项;如果是XML或XHTML格式(例如RSS返回),则取消选中;
Quiet表示只显示需要的HTML页面,
Report errors表示显示响应报错,
Show warnings表示显示警告;
Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;
Validate XML:根据页面元素模式进行检查解析;
Ignore Whitespace:忽略空白内容;
Fetch external DTDs:如果选中该项,外部将使用DTD规则来获取页面内容(一些XML元素具有属性,属性包含应用程序使用的信息,属性仅在程序对元素进行读、写操作时,提供元素的额外信息,这时候需要在DTDs中声明);
Return entire XPath fragment of text content:返回文本内容的整个XPath片段;
(3)引用名称
其他地方引用时的变量名称,名称只能是一个,引用方法:${变量名称}
(4)Xpath query
填写xpath表达式,即要提取部分xpath表达式。
(5)匹配数字
当为 0 时,随机返回匹配的数据。
当为 1 时,表示返回匹配结果数组的第一个元素。
当为负数(-1,-2,-100都可以)时,表示返回全部元素,并且同时会返回一个元素总数的变量。
(6)缺省值
匹配失败时的默认值,可以不填写。通常用于后续的逻辑判断,建议使用一些特殊含义的,比如0,NULL,ERROR等。
Jmeter后置处理器之Xpath提取器
最新推荐文章于 2024-07-18 10:17:16 发布