断言的主要功能是通过验证响应报文是否满足需求规约来确认接口运行是否正确。 目前MeterSphere 支持以下几种形式的断言规则:文本、正则、JSONPath、XPath、响应时间、脚本、文档结构校验。 断言.png
文本断言
条件支持: 包含 , 不包含 , 等于 , 以...开始 , 以...结束 。
值:断言对象需要匹配的值,匹配成功则断言成功,否则断言失败。
文本断言.png
正则断言
正则断言适用于响应内容不是 JSON、XML、HTML 等这样的标准且常见的结构化文本的请求进行断言操作。
对象包括: Response Code , Response Headers , Response Data 。
Perl型正则表达式:断言对象需要匹配的正则表达式,匹配成功则断言成功,否则断言失败。
例:
响应内容:id="ddc86657-d402-4c10-b458-2ba2e4604cef"&name="myorg"&description="test org"
断言需求:判断响应体中包含 name="任意文本" 。
断言配置:对象: Response Data,Perl型正则表达式: name=".*?"
正则断言.png
JSONPath 断言
JSONPath 断言适用于响应内容是 JSON 格式进行断言。
JSONPath表达式:JSONPath 表达式,通过该表达式定位到特定字段。
期望值:通过 JSONPath 表达式定位的字段的期望值,支持正则表达式。
jsonpath断言.png
XPath 断言
XPath 断言适用于对响应内容是 XML、HTML 等格式的请求进行断言。
XPath表达式:需要进行匹配的 XPath 表达式。
断言需求:判断响应体中的 id 为 10 的公司名称为 IBM
断言配置:XPath表达式://foo:company[@id=10]='IBM'
<employees>
<employee id="1">Johnny Dapp</employee>
<employee id="2">Al Pacino</employee>
<employee id="3">Robert De Niro</employee>
<employee id="4">Kevin Spacey</employee>
<employee id="5">Denzel Washington</employee>
</employees>
<foo:companies>
<foo:company id="6">Tata Consultancy Services</foo:company>
<foo:company id="7">Wipro</foo:company>
<foo:company id="8">Infosys</foo:company>
<foo:company id="9">Microsoft</foo:company>
<foo:company id="10">IBM</foo:company>
<foo:company id="11">Apple</foo:company>
<foo:company id="12">Oracle</foo:company>
</foo:companies>
</root>
xpath断言.png
响应时间断言
响应时间断言适用于对响应时间有特定要求时的请求进行断言操作。
响应时间在...毫秒以内:以毫秒为单位的响应时间期望,当实际响应时间小于等于该值时断言成功。
响应时间断言.png
文档结构校验
文档结构校验断言适用于响应结果为XML/JSON格式的请求进行断言操作。
文档结构检验.png
导入文档校验: 点击【导入】可导入需断言 Json/xml 数据,自动生成文档结构校验元素表格。可以自定义设置校验规则。
跟随 API 定义:是 API 响应体设置返回值一致,勾选【跟随API定义】可以自动生成内容校验。
导入文档校验.png
网友评论