百色市网站建设_网站建设公司_CMS_seo优化
2025/12/31 10:33:48 网站建设 项目流程

Apifox的断言像一个自动检查员,在请求完成后立刻证实响应数据的正确性,将手动检查变为自动化证实。

断言的三大组成部分

每个断言都由三个部分组成,共同决定了检查什么和怎么查:

断言对象:要检查的具体内容。响应状态码、响应体JSON字段、响应头等。

比较方式:证实断言对象和预期值关系的思路。等于、包含、大于、存在、正则一致等。

预期值:你希望断言对象一致的结果。200、“success”、/^\d{11}$/(手机号正则)等。

怎样配置一个断言

进入配置界面:在接口的运行或调试标签页,切换到 后置操作 选项卡。

添加断言操作:点击添加操作,从列表中选择 断言。

设置断言规则:在弹出窗口中,依次选择或填写“断言对象”、“比较方式”和“预期值”。

用法

掌握以下技能,能让断言更强大、更高效。

使用 JSONPath 提取数据

证实JSON响应体。JSONPath 表达式用来准确定位断言对象。

基本格式:以 $ 表示根节点,使用点号.或方括号[]访问字段或数组。

文章来源:卓码软件测评

精彩推荐:点击蓝字即可
软件负载测试API自动化测试软件测试第三方软件测试软件性能测试软件测试机构

常用表达式:

$.code:检查根节点下的code字段。

$.data.users[0].name:检查data下users数组第一个元素的name字段。

$.data.items.length():获取数组长度(可用于断言列表数量)。

运用多样化的比较方式

根据证实目标,灵活选择比较方式:

证实固定值:使用 “等于”、“不等于”。

证实文本:使用 “包含”、“不包含”、“正则一致”。

证实数字或长度:使用 “大于”、“小于”、“大于等于”。

证实字段存在性:使用 “存在”。

配置多个断言进行

一个接口可以添加多个断言,它们会按顺序执行,对响应进行全方面检查。如,一个登录接口可以同时断言:状态码为200、响应码code为0、响应信息message包含“成功”、响应体data中存在token字段。

断言和检查响应的区别

Apifox还有一项 检查响应功能,主要用于比对实际返回的JSON结构是不是和接口文档中预先定义的数据模型(Schema)一致,如字段类型、是不是必需等。而“断言”更不同于具体的业务值。两者可以结合使用。

在自动化流程中使用断言

断言是后置操作的一部分,可和前置操作和其他后置操作串联,创建复杂测试流。

执行顺序:按照全局前置 → 目录/分组前置 → 接口前置 → 发送请求 → 全局后置 → 目录/分组后置 → 接口后置的顺序。断言一般在接口后置阶段执行。

结合提取变量:可以在断言前的后置操作中,使用 提取变量操作,从响应中取出值(如token)存入变量。后续接口或断言中即可用{{variable}}语法直接引用该变量。

实战示例

假设一个获取用户信息的接口返回如下JSON:

{ "status": 200, "success": true, "data": { "id": 12345, "name": "张三", "age": 30, "email": "zhangsan@zmtests.com", "hobbies": ["阅读", "跑步"] } }

可以分层次配置断言:

基础状态:比较方式Response status code,预期值等于200,确定HTTP请求成功。

业务状态:比较方式Response JSON -> $.success,预期值等于true,确定业务思路成功。

数据完整性:比较方式Response JSON -> $.data.name,预期值存在-,确定重点字段存在。

数据准确性:比较方式Response JSON -> $.data.age,预期值大于0,证实年龄为合理正数。

数据格式:比较方式Response JSON -> $.data.email,预期值:正则一致^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$,证实邮箱格式正确。

数组数据:比较方式Response JSON -> $.data.hobbies.length() ,预期值大于0,证实爱好列表非空。

调试排错

实时预览:在断言配置框输入JSONPath时,右侧会实时显示提取出的值,这是调试表达式最直接的方法。

查看报错:断言失败时,结果会确定指出哪个断言失败、预期值和实际值各是多少,这是定位问题的第一手信息。

检查数据:如果JSONPath无法提取到值,先检查返回的JSON结构是不是和预期一致

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询