Eolink Apikit:HTTP 测试从入门到精通

发布时间 2023-12-11 18:49:54作者: 小Kit

功能入口API管理应用 - 选中某个项目 - API文档菜单 - 选中某一API文档 - 点击测试TAB

API文档测试页,可对该API文档描述的接口进行快速测试。API文档测试页分为地址控制栏请求控制区返回展示区,以及测试辅助工具区共四个部分。

image


1、地址控制栏

测试页顶部是地址控制栏,接口的协议固定不可更改,但可调整接口请求方式接口地址URL

image

1. 接口测试 URL 调整

在本页面点击右上角的切换环境,系统会自动填入该环境的域名或IP到URL地址前缀。用户也可以直接在地址栏中填入域名IP进行测试。

2. 导入或存为测试用例

URL编辑栏旁第一个按钮可实现快速导入旧的测试用例或存为新的测试用例。

点击该按钮,可以选择当前接口已有的测试用例一键导入进行测试,也可以把当前调试完毕的请求数据保存为一个新的测试用例。

3. 测试发送按钮

在测试用例快速操作按钮右侧是当前测试的发送按钮,该按钮高亮显示,按钮颜色跟随主题色。点击发送按钮后,会根据请求数据对该接口发起一次请求。发起后系统会开始读秒,显示该测试已耗时间。

发送按钮可选两种测试模式:服务器测试浏览器插件测试

若选择服务器测试,则测试运行资源为eolink系统的远程服务器资源。在Eolink的SaaS产品上,因为多个团队共用一套资源,故对测试请求增加了限制。若该接口测试耗时已超过10秒,则自动终止该测试任务,并返回接口超时的信息。

若选择浏览器插件测试,则测试运行资源为用户本地机器。但使用该模式需要跟随指引安装浏览器插件。而在PC客户端上,该插件本身已集成在客户端框架内,无需下载安装,直接切换使用即可。

测试过程中会需要使用多个不同的cookie,cookie管理工具可以快捷的解决这个问题。用户可以点击测试页面右上角的cookie管理工具按钮,打开管理窗口。

在cookie管理窗口中,先添加对应的域名地址,然后可对该域名地址添加多个cookie值。当进行接口测试时,请求的是对应的域名地址,则系统会自动把该域名地址下的所有cookie值附带在请求头部中。

image


2、请求控制区

API文档中的内容均会自动同步到测试页的请求控制区中,故请求控制区与API文档编辑页的请求参数输入区基本一致。均有请求头部、请求体、Query参数、REST参数、权限校验、前置脚本、后置脚本。而API测试页会增加对测试的高级设置内容。

image

故请求控制区的基本操作,请查看《编辑API文档》 中的“请求参数”章节。以下仅说明测试时需要注意的内容。

1. Content-type

系统会根据测试请求体的内容,自动判断请求头Content-type标签的值。并默认填入请求头的Content-type字段,其判断条件如下:

Content-type值 触发规则
自定义(Auto) 若文档中请求头已输入Content-type标签,无论该标签是否有填写示例值(默认值)。测试中请求头均显示为文档中填写的示例值,若未填写示例值,则为空。在请求体的Content-type提示为Auto。
application/x-www-form-urlencoded 文档请求体选择Form-data格式,系统默认Content-type为application/x-www-form-urlencoded。
multipart/form-data 文档请求体选择Form-data格式并且任一参数的字段类型选择了file。则系统判断Content-type为multipart/form-data。
application/json 文档请求体选择Json格式,系统判断Content-type为application/json。
application/xml 文档请求体选择XML格式,系统判断Content-type为application/xml。
text/plain、text/xml、text/html、application/javascript 文档请求体选择Raw格式,并在测试时用户在Raw格式输入框顶部可直接选择左侧的Content-type值。选中后系统会自动填入到请求头中。

2. 请求字段可选框

在请求体的Form-data格式、JSON格式、XML格式,以及Query参数和REST参数的字段列表中,每个字段前均有一个请求字段可选框。该可选框的选中状态跟随文档中的字段是否必填的选项,即若字段设置为必填,则在测试中,默认勾选该字段需要请求。若字段设置为非必填,则在测试中默认不勾选该字段为请求字段。

测试页中勾选了的字段,发起测试请求时该字段才会存在,否则请求时不会带上该字段的任何信息。

3. 构造器

image

构造器是测试时系统提供的快速生成请求数据的工具。一般用于快速对数据进行加密和生成随机数值。可在请求参数中某个字段的右侧选择构造器操作,通过构造器生成该字段的参数值。构造器由两种类型的操作组成:设置初始数据多重操作

初始数据

image

其中初始数据可选三种类型:自定义数据、动态生成数据和生成随机数值。

  • 自定义数据

在输入任何数据作为初始值,自定义数据的初始值一般用于需要对某个固定值加密的场景。

  • 随机数

用户可填写最大值数值和最小值数值,系统会从该数值范围内随机输出某个数值。

  • 动态生成数据

系统提供类似于Mock请求参数值的能力,内置了多种动态数据生成公式,基本揽括了大部分的适用场景,具体可参照下表:

随机值类型 示例
时间戳 1605942119819
UUID f660865D-3cbe-5b65-52bd-9cD1b06Bef7f
手机号 13007057081
中国大陆身份证 34810227240230674x
随机自然数 123
随机浮点数 1.2
日期(yyyy-MM-dd) 2003-04-01
24小时时间(HH:mm:ss) 12:02:54
日期和24小时时间(yyyy-MM-dd HH:mm:ss) 1977-01-21 19:19:45
年(yyyy) 1996
月(MM) 12
日(dd) 15
24小时(HH) 21
分(mm) 30
秒(ss) 45
中文姓名 刘昊臻
中文姓
中文名 昊臻
中文标题 天气真不错
中文段落 风物起到期青强消市千次正须关省候压面…
英文姓名 David Moore
英文名 First Name Angela
英文姓 Last Name Anderson
英文标题 Cxhwayor Uvecv Jnvpnqicoq Glcwiq
英文段落 Lvqhfftzp xfngicin qmuhc kpongups bnptrtvyb rqado fkyblwrnc vfexsvt lryp mlm…
邮箱 best@eolinker.com
IP 59.192.237.172
16进制颜色 #f27988
RGB颜色 rgb(121, 172, 242)
RGBA颜色 rgba(207, 242, 121, 0.06)

多重操作

image

输入了初始值后,可对该初始值进行各种数据操作,且可对数据操作后已处理的数据再进行其他的数据操作,以满足多重数据操作,如多重加密等场景。

当前提供的数据操作方式如下表:

操作方法 解释
base64 按照bace64编码进行加密
MD5 按照MD5编码进行加密
upper 字母转成大写
lower 字母转成小写
length 取字段长度值
hmac 按照HAMC算法进行加密,需要另外输入密钥
sha 按照sha算法进行加密
string 设为字符串值,给数据增加双引号或单引号
substring[字符串截取] 字符串截取,截取数据中的某段内容
concat[字符串拼接] 字符串拼接,可在字符串末尾拼接某段内容

表达式和静态值

image

用户在进行构造器操作的同时,构造器弹窗底部会同步显示当前已设置数据操作步骤的动态公式,以及根据公式随机生成的静态值。数据操作步骤设置完毕后,用户可以选择把动态公式或当前随机静态值插入到测试请求的参数值中。

若选择插入的是动态公式且初始数据为动态数据或随机数,则每次测试系统均会根据公式的条件,随机生成符合公式的参数值。一般每次测试生成的随机值均不一样。

若选择插入的是静态值,则会把该值固定填入到对应的参数值字段内,每次测试请求时均请求同一个参数值。

4. 测试设置

API文档测试的高级设置有6项,用于配置测试的特殊规则。具体逻辑如下:

image

  • 测试服务

下拉单选,默认选中使用Eolink Apikit 远程服务器。可选使用浏览器插件进行测试。选中后系统会自动保存,选中其他接口测试时会沿用最近选种的测试服务方式。

  • 自动跟随请求重定向

开关配置,默认开启。

  • 验证SSL证书

开关配置,默认关闭。关闭后可不验证SSL证书,但仅针对服务器测试或客户端测试。若是浏览器测试,则该开关配置无效,均需要验证SSL证书。

  • 发送Eolink Token头部

开关配置,默认开启。开启后请求头会增加Eolink Token信息,若关闭则不添加。

  • 发送 no-cache 头部

开关配置,默认关闭。开启后请求头会自动增加一条以下参数信息:

cache-control:no-cache
  • 报文编码格式

单选配置,默认选中UTF-8,可选项有UTF-8和GBK。


3、返回展示区

image

测试页底部是测试返回信息展示区。其中包含时间分析、返回结果、返回头部、请求内容、请求头部、测试历史等模块。

1. 时间分析

时间分析模块可查看该接口请求的每一步耗时情况。可方便的了解在哪个环节耗时较长或导致的接口异常。

2. 返回结果

用于展示该接口请求的返回结果和返回具体内容。若接口请求成功,返回200状态码,则会在该模块页顶部展示200。并在底部显示该接口的返回具体信息。

若接口返回异常,则会在该模块页顶部展示异常的状态码,并在底部显示具体的异常信息。

3. 返回头部

接口请求成功后,除了会展示返回结果外,也会展示具体的返回头部。在该模块可查看返回头部的所有信息。

4. 请求内容

无论请求是否成功,均可在请求内容中查看实际发送的请求体内容。可用于判断请求内容是否发送正确。

5. 请求头部

展示该次请求的请求头部信息,包含了完整的请求头信息。如隐藏的eo-token,user-agent等均会正常展示。

6. 测试历史

在API文档测试页对该接口进行的每一次测试均会被系统保存起来,成为测试历史。

点击某行测试历史,系统会自动填充该历史的所有数据到当前测试页中。包含当时的测试地址、请求内容以及返回结果。会用历史的数据覆盖当前的数据来进行历史测试状态的完整复现。

用户可点击单行测试历史右侧的删除按钮,删除对应的测试历史数据。或点击顶部的清空测试历史按钮,清空所有的测试历史记录。

image


4、测试辅助工具

在测试过程中,Eolink提供两种测试辅助工具:环境管理和cookie管理。另外还有评论和变更通知管理工具,这里不赘述。

1. 环境管理工具

测试页面右上角的快捷环境管理工具主要用于切换测试环境。可选择应用级和项目级已创建好的环境进行测试。选中某个环境后,接口URL会自动补充该环境域名或IP作为前缀。

可点选仅展示当前账号创建的环境,方便在团队协作时快速找到自己的测试环境。

点击环境管理工具上的小眼睛图标,可以查看当前的全局变量和环境变量情况。需要注意的是当全局变量和环境变量均有同一变量参数,则读取环境变量的变量值。即环境变量优先级大于全局变量。用户也可以在当前的变量预览表中对变量值进行编辑。

2. 生成请求示例代码

在测试发送按钮右侧是生成代码按钮,该按钮是可一键根据当前测试页的请求数据生成多种主流编程语言的接口请求代码。方便用户在程序中复用该请求数据。