一、概述
XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
本文档,主要站在UI自动化测试角色解决UI定位场景探讨,其他使用场景可参考。
在UI测试方法,xpath定位存在两在突出优点:
- 功能强大,查过滤(筛选)属性、属性内容、元素名、元素内容
- 各浏览都支持调试,即时调试。
二、基础知识
2.1 什么是 XPath?
- XPath 使用路径表达式在 XML 文档中进行导航
- XPath 包含一个标准函数库
- XPath 是 XSLT 中的主要元素
- XPath 是一个 W3C 标准
2.2 术语
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。
请看下面这个 XML 文档:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
</book>
</bookstore>
- 节点/元素
<bookstore> (根,元素名称:bookstore)
<author>J K. Rowling</author> (元素,元素文本内容:[J K. Rowling])
lang="en" (属性, 属性名:lang, 属性值:en)
- 节点关系
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<price>29.99</price>
<year>2005
<month>5
<day>1</day>
</month>
</year>
</book>
- 父(Parent)每个元素以及属性都有一个父(除根节点)。在例子中,book 元素是 title、author、year 以及 price 元素的【父】
- 子(Children)元素节点可有零个、一个或多