「Eolink Apikit 教程」如何快速创建有效的API监控任务?

API 监控能够确保 API 的稳定性。如果一个 API 出现故障或崩溃,它可能会导致整个应用程序无法正常工作。这对用户和业务来说可能是灾难性的。通过监控 API,开发团队可以及时发现问题并采取措施来修复它们,从而降低应用程序中断的风险。

作为开发人员,了解 API 生命周期中的每一个步骤可以帮助改善设计流程以及后续的流程,监控工具可以深入了解 API 的行为,监控 API 有助于:

  1. 问题识别;

  2. 问题修复;

  3. 功能分析;

  4. 新版本的迭代。

在 API 管理中,查看 API 异常监控的监控报告,在 Eolink Apiki 中也是常用的功能,通常你可以在流程综合报告页中看到当前流程在选定时间段内的整体监控情况。

1、手动创建监控 API

Eolinker API 网络监控平台支持从 Eolinker API Management(API管理产品)中导入API信息,或者手动创建监控API。

进入API监控页面,点击 添加API 按钮,会直接进入API监控编辑页面。你可以在编辑页中设置API监控的名称、请求地址、请求信息、校验规则等信息。

进入API监控编辑页后,你可以设置API的基本信息、请求信息、校验规则等内容。

API 监控基础信息

API监控的基础信息包括:

  1. API请求地址;

  2. API分组、名称;

  3. API监控的项目环境;

  4. API监控节点:系统会在选中的监控节点区域发起API监控请求;

  5. 监控频率:系统会在选中的监控节点中按照设置的频率对API发起监控请求;

  6. 超时限制:当API的响应时间超出设定的限制时间时,系统将会自动中断该次监控请求,并且报请求超时异常。

请求头部

你可以输入或导入请求头部。批量导入的数据格式为 key : value ,一行一条 header 信息,如:

Connection: keep-alive
Content-Encoding: gzip
Content-Type: application/json
Date: Mon, 30 Dec 2019 20:49:45 GMT

请求体

请求体支持以下类型:Form-data(表单)、JSON、XML、Raw(自定义文本类型数据)。

Query 参数

Query参数指的是地址栏中跟在问号 ? 后面的参数,如以下地址中的 user_name 参数:

shop/query?shop_id=001

批量导入的数据格式为 ?key=value ,通过 & 分隔多个参数,如:

api.eolinker.com/user/login?user_name=jackliu&user_password=hello

REST 参数

REST参数指的是地址栏被斜杠 / 分隔的参数,如以下地址中的 user_name、user_password 参数。

/user/login/{user_name}/{user_password}

注意,只需要在URL中使用 {} 将REST参数括起来,下方的请求参数名中不需要使用 {}

权限校验

如果访问API时需要先进行身份验证,可以在权限校验处填写校验的信息。

2、从接口文档导入 API

如果你已经使用了 Eolinker API Management(API研发管理) 产品,你可以在创建监控接口的时候直接导入API Management 的API文档信息。

进入API监控页面,点击 添加API 按钮旁的下拉菜单按钮,在菜单中选择 从API管理导入

在弹窗中选择要导入的API并点击确定之后,会进入API监控信息编辑页面,在这里可以编辑每个导入的API的信息,一般来说你只需要补充API的请求参数值以及校验规则即可。

在弹窗中选择要导入的API并点击确定之后,会进入API监控信息编辑页面,在这里可以编辑每个导入的API的信息,一般来说你只需要补充API的请求参数值以及校验规则即可。

进入API监控编辑页后,你可以设置API的基本信息、请求信息、校验规则等内容。

3、开启监控

创建好API之后,在操作栏点击 更多 的按钮,在下拉菜单中选择 开启监控

也可以在顶部点击 批量操作 按钮来对API做批量开启监控:

前置脚本和后置脚本

API脚本分为 API前置脚本API后置脚本 两种,分别对应API 请求前返回数据后的两个阶段。你可以通过编写Javascript代码,在API前置脚本中改变请求参数,或者是在API后置脚本中改变返回结果。

API脚本功能常用于以下几种情况:

  • API请求时对Body进行整体签名加密,常用于银行等系统测试中

  • API返回结果后对Body进行解密,常用于反爬虫系统的测试中

  • 发起的API请求会依次经过以下流程。其中如果你没有编写相应的API脚本,则会略过API脚本阶段。

返回结果校验

校验返回头部

返回头部支持以下校验选项:

|-------|----------------------------|
| 校验方式 | 描述 |
| 存在性校验 | 判断是否存在该字段,如不存在则提示测试失败 |
| 值校验 | 判断返回内容与预设值是否相等,如不相等则提示测试失败 |

校验返回结果

API测试用例支持5种校验方式:

|--------|------------------------------------|
| 校验方式 | 描述 |
| 不校验 | 无论返回结果是什么,均认为测试通过 |
| 校验状态码 | 判断响应头部中的HTTP Status Code |
| 校验JSON | 判断响应结果的JSON结构和参数值,可以判断对象、数组、字段等信息 |
| 校验XML | 判断响应结果的XML结构和参数值,可以判断对象、数组、字段等信息 |
| 完全匹配 | 判断响应结果是否等于预期结果 |
| 正则匹配 | 通过正则表达式去匹配响应结果,如果匹配的结果集不为空,则认为测试通过 |

存在性校验

当我们需要判断返回的头部/返回结果中的某个字段是否存在时,可以设置存在性校验来进行判断。

|-------|-----------------------|
| 存在性校验 | 说明 |
| 是(默认) | 判断是否存在该字段,如不存在则提示测试失败 |
| 否 | 不判断是否存在该字段 |

类型校验

设置对参数的类型进行校验,返回结果的参数类型必须要等于预设的参数类型,否则提示测试失败。

内容校验

设置对字段值的判断条件,不同类型的字段可能会有不同的判断条件。

|--------|----------------|---------------------------------------------------------------------------|
| 校验规则 | 符号 | 说明 |
| 不校验 | [] | 不校验返回内容,任何值均判断为正确 |
| 值-等于 | [value = ] | 返回结果的 值 必须要 等于 预期结果,否则提示测试失败 |
| 值-不等于 | [value != ] | 返回结果的 值 必须要 不等于 预期结果,否则提示测试失败 |
| 值-大于 | [value > ] | 返回结果的 值 必须要 大于 预期结果,否则提示测试失败 |
| 值-小于 | [value < ] | 返回结果的 值 必须要 小于 预期结果,否则提示测试失败 |
| 值-包含 | [include = ] | 返回结果的 值 必须要 包含 预期结果,否则提示测试失败。比如预期结果为"hello",实际返回结果为"hello world",则测试结果正确。 |
| 值-不等于 | [value != ] | 返回结果的 值 必须要 不等于 预期结果,否则提示测试失败 |
| 正则 | [Reg = ] | 返回结果的 值 必须要 不等于 预期结果,否则提示测试失败 |
| 长度-等于 | [length = ] | 返回结果的 长度 必须要 等于 预期结果,否则提示测试失败 |
| 长度-不等于 | [length != ] | 返回结果的 长度 必须要 不等于 预期结果,否则提示测试失败 |
| 长度-大于 | [length > ] | 返回结果的 长度 必须要 大于 预期结果,否则提示测试失败 |
| 长度-小于 | [length < ] | 返回结果的 长度 必须要 小于 预期结果,否则提示测试失败 |

循环校验

对于数组类型(Array[])的返回参数,系统提供了 校验数组内元素 的选项,开启该选项之后,系统会对数组内的所有元素进行校验,否则仅校验数组内的第一个元素。

例如:

有如下JSON数组,当 demo_array 字段(红色部分)是一个数组类型时,开启校验数组内元素后会对demo_array下一级的字段(蓝色部分)进行整体的循环校验。

以下两张图的红色以及蓝色部分一一对应。

高级设置

重定向

可以设置是否跟随请求的重定向(HTTP 状态码为301、302)

验证SSL证书

可以设置是否校验SSL证书

发送Eolinker Token头部

可以设置是否发送Eolinker Token头部,Eolinker Token用于标识请求发送自Eolinker平台

发送no-chche头部

可以设置是否发送 no-cache 头部,用于更新缓存数据

Eolink Apikit 让开发人员和操作团队都可以轻松地监控他们所依赖的 API 的状态和行为。使 DevOps 团队能够连续监控异常情况,并使用可操作的上下文数据发送针对性的警报,以便快速解决出现的问题。了解更多关于Eolink Apikit 的 API 监控功能,请访问:https://www.eolink.com/apikit

相关推荐
_.Switch9 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
心灵彼岸-诗和远方10 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
心灵彼岸-诗和远方21 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
大卡尔2 天前
Reviewbot 开源 | 为什么我们要打造自己的代码审查服务?
devops·code review·静态检查·工程效率
极小狐2 天前
驭码上新,AI Code Review、基于代码库的知识问答,让研发起飞
gitlab·devsecops·devops·极狐gitlab·安全合规
蚊子不吸吸2 天前
DevOps开发运维简述
linux·运维·ci/cd·oracle·kubernetes·gitlab·devops
思码逸研发效能3 天前
度量数据是人工凭感觉录入的,产生的偏差如何解决?
研发效能·devops·研发效能度量·研发管理
一名技术极客3 天前
后端开挂:3 行代码写出 8 个接口!
java·api·apijson
孤蓬&听雨3 天前
Kafka自动生产消息软件(自动化测试Kafka)
分布式·kafka·自动化·测试·生产者
SunkingYang4 天前
C#如何封装将函数封装为接口dll?
开发语言·c#·接口·dll·封装