Apikit 自学日记:如何创建 API 监控呢?

65 阅读6分钟

创建并开启监控API

一、手动创建监控API

Eolink API 网络监控平台支持从 Eolink 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时需要先进行身份验证,可以在权限校验处填写校验的信息。

二、从接口文档导入API

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

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

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

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

三、开启监控

创建好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证书

发送Eolink Token头部

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

发送no-chche头部

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