美文网首页
MeterSphere断言

MeterSphere断言

作者: 今天学习吗 | 来源:发表于2024-02-28 14:27 被阅读0次

    断言的主要功能是通过验证响应报文是否满足需求规约来确认接口运行是否正确。 目前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

    脚本断言

    当常规断言无法满足需求时,可以选择脚本断言,即选择合适的语言编写脚本来对结果进行判断。与前后置脚本一样,脚本在加载前已经内置了部分变量,目前支持 BeanShell 、Groovy 、 Python 、 javascript 脚本语言。除了在之前已经介绍过的变量外,脚本断言中的脚本还额外提供了断言结果对象 AssertionResult ,通过AssertionResult.setFailure(true) 方法设置断言是否成功,通过AssertionResult.setFailureMessage("message") 方法设置断言失败提示信息。 脚本断言.png

    相关文章

      网友评论

          本文标题:MeterSphere断言

          本文链接:https://www.haomeiwen.com/subject/mgffzdtx.html