前言:编写UI自动化测试脚本的时候常常需要通过Xpath去定位元素的位置或者JsonPath解析response的结果,这里介绍一下常用的通过Xpath的方式抓去元素的方式以及jsonpath的常用解析规则。
JsonPath可在Central Maven存储库中找到。 Maven用户将其添加到您的POM:
-
<dependency>
-
<groupId>com.jayway.jsonpath</groupId>
-
<artifactId>json-path</artifactId>
-
<version>2.2.0</version>
-
</dependency>
JsonPath表达式总是以与XPath表达式结合使用XML文档相同的方式引用JSON结构。
JsonPath中的“根成员对象”始终称为$,无论是对象还是数组。
JsonPath表达式可以使用点表示法
$.store.book [0].title
或括号表示法
$['store']['book'][0]['title']
操作符
Operator | Description |
---|---|
$ |
查询根结点,启动所有路径的表达式。 |
@ |
当前节点可以通过该符号进行过滤。 |
* |
通配符,必要时可用在任何地方的名称或者数字。 |
.. |
深层扫描,必要时可在任何地方使用名称。 |
.<name> |
点,表示子节点 |
['<name>' (, '<name>')] |
括号表示子项 |
[<number> (, <number>)] |
数组索引或者索引 |
[start:end] |
数组切片操作 |
[?(<expression>)] |
过滤表达式,表达式的值为一个布尔值 |
函数
函数可以在路径的尾部使用,函数的输出是路径表达式的输出,该函数的输出是由函数本身决定的。
函数 |
描述 | 输出 |
---|