表达式运算符说明
运算符说明
- “简易表达式”可引用“系统数据”和“属性数据”。
表1 系统数据和属性数据引用说明 数据类型
数据来源
引用方式
系统数据
外部调用开放的API时的请求体。
${body}
查询“数据源”的结果。
“HTTP Client”组件调用结果的响应体内容。
属性数据
“Open API”组件中创建的请求参数(包括Header、Query和Path类型的参数)。
${property.变量名}
“变量赋值”组件中创建的变量。
“HTTP Client”组件调用API的响应头参数。
- “JsonPath表达式”和“XPath表达式”用于解析“系统数据”中API的请求体或者响应体。
- 待解析的“系统数据”为Json格式时,请使用“JsonPath表达式”。
- 待解析的“系统数据”为XML格式时,请使用“XPath表达式”。示例:
- “系统数据”的请求体或者响应体如下时,可通过“JsonPath表达式”$.id来获取“id”参数的值。
{ "id": 1, "name": "test_user" }
- “系统数据”的请求体或者响应体如下时,可通过“JsonPath表达式”$[1].name来获取“"test_user02”。
[ { "id": 1, "name": "test_user01" }, { "id": 2, "name": "test_user02" } ]
- “系统数据”的请求体或者响应体如下时,可通过“XPath表达式”/bookstore/book/title/text()来获取“title ”参数的值。
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>30.00</price> </book> </bookstore>
- “系统数据”的请求体或者响应体如下时,可通过“JsonPath表达式”$.id来获取“id”参数的值。
简易表达式运算符
支持的关系运算符如下表所示。
关系运算符 |
描述 |
---|---|
== |
判断左侧值是否等于右侧值,如:${property.name} == ‘test’ |
=~ |
忽略大小写,判断左侧字符串是否等于右侧字符串,如:${property.name} =~ ‘TEST’ |
!= |
判断左侧值是否不等于右侧值,如:${property.name} != ‘test’ |
!=~ |
忽略大小写,判断左侧字符串是否不等于右侧字符串,如:${property.name} !=~ ‘TEST’ |
> |
判断左侧值是否大于右侧值,如:${property.num} > 1 |
>= |
判断左侧值是否大于或等于右侧值,如:${property.num} >= 1 |
< |
判断左侧值是否小于右侧值,如:${property.num} < 1 |
<= |
判断左侧值是否小于或等于右侧值,如:${property.num} <= 1 |
contains |
判断左侧字符串中是否包含右侧字符串,如:${property.name} contains ‘test’ |
!contains |
判断左侧字符串中是否不包含右侧字符串,如:${property.name} !contains ‘test’ |
~~ |
忽略大小写,判断左侧字符串中是否包含右侧字符串,如:${property.name} ~~ ‘TEST’ |
!~~ |
忽略大小写,判断左侧字符串中是否不包含右侧字符串,如:${property.name} !~~ ‘TEST’ |
regex |
判断左侧值是否满足右侧正则表达式,如:${property.num} regex '\\d{4}' |
!regex |
判断左侧值是否不满足右侧正则表达式,如:${property.num} !regex '\\d{4}' |
in |
判断左侧值是否在右侧集合中,集合中元素通过英文逗号(,)分割,如:${property.num} in ‘1,2,3’ |
!in |
判断左侧值是否不在右侧集合中,集合中元素通过英文逗号(,)分割,如:${property.num} !in ‘1,2,3’ |
is |
判断的左侧对象的类型是否为右侧,如:${property.name} is ‘String’ |
!is |
判断的左侧对象的类型是否不为右侧,如:${property.name} !is ‘String’ |
startsWith |
判断左侧字符串是否以右侧字符串开始,如:${property.name} startsWith ‘test’ |
endsWith |
判断左侧字符串是否以右侧字符串结尾,如:${property.name} endsWith ‘test’ |
支持的逻辑运算符如下表所示。
逻辑运算符 |
描述 |
---|---|
&& |
且,如:${property.name} == ‘test’ && ${property.num} == 1 |
|| |
或,如:${property.name} == ‘test’ || ${property.num} == 1 |
