测试工具-XPath

Posted 大道测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试工具-XPath相关的知识,希望对你有一定的参考价值。

XML有两种MIME类型,即application/xml和text/xml,在HTTP中,MIME Type类型被定义在Content-Type header中。我们经常也会看到接口返回数据类型为XML格式。功能测试/自动化脚本里,经常会需要提取xml数据,用作上下文使用或者用作断言校验。使用XPath可以很好的完成对XML的查找、提取和使用,同样也支持html元素的解析。

JMeter的XPath提取器

XPath页面的参数介绍

Apply to:作用范围(返回内容的断言范围)
Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
Main sample only:仅作用于父节点的取样器
Sub-samples only:仅作用于子节点的取样器
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
XML Parsing Options:要解析的XML参数
UseTidy:当需要处理的页面是HTML格式时,必须选中该选项;如果是XMLXHTML格式(例如RSS返回),则取消选中;
Quiet:表示只显示需要的HTML页面,
   报错异常:Report errors表示显示响应报错,
   显示警告:Show warnings表示显示警告;
Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;
Validate XML:根据页面元素模式进行检查解析;
Ignore Whitespace:忽略空白内容;
Fetch external DTDs:如果选中该项,外部将使用DTD规则来获取页面内容;
Return entire XPath fragment of text content:返回文本内容的整个XPath片段;
引用名称Reference Name:存放提取出的值的参数。
XPath Query:用于提取值的XPath表达式。
匹配数字:取第几个匹配结果,0随机,-1全部,1代表第一个,2代表第二个,....以此类推
默认值 Default Value:参数的默认值。

如何编写XPath

  1. 基本语法

测试工具-XPath

  1. 使用示例

  • 根据元素属性定位

<span class="x-bw" style=""></span>
选取属性class的属性值为x-bw的所有节点
//span[@class='x-bw']
  • 层级属性结合定位

查找某元素内部的所有元素,选取div 元素内部的所有span
//div[@id="divId"]//span

第二个双斜杠,表示选取内部所有的 span,不管层级关系
  • 使用谓语定位

查找倒数第几个子元素,选取form下的倒数第一个span
//form[@id="form"]/span[last()-1]
  • 使用逻辑运算符

查找name属性为wd或者class属性为 s_ipt 的任意元素,取其中之一满足即可
//*[@name='wd' or @class='s_ipt']

  • 使用文本定位

contains 选取属性或者文本包含某些字符
starts-with 选取属性或者文本以某些字符开头
ends-with 选取属性或者文本以某些字符开头

//div[contains(@id, 'divId')] 选取id 属性包含divIddiv元素

Java的XPath工具包

Java自带一个XPath工具包javax.xml.xpath

Python的XPath工具包

pip install scrapy





扫一扫,关注我

若有收获,点个在看

以上是关于测试工具-XPath的主要内容,如果未能解决你的问题,请参考以下文章

使用 xpath 同时选择属性和内容?

Firefox中firebug和xpath checker工具的使用

Python爬虫编程思想(46):使用Chrome验证XPath

Chrome浏览器获取XPATH的方法----通过开发者工具获取

如何在 JSDOM 中使用 XPath 获取 XML 属性

在 xpath 上的过滤后使用索引