Apikit 自学日记:发起文档测试-HTTP

news2025/4/15 2:14:01

HTTP

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

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

 

一、地址控制栏

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

 

1、 接口测试URL调整

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

2、 导入或存为测试用例

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

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

3、 测试发送按钮

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

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

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

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

4、cookie管理工具

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

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

 

二、请求控制区

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

 

故请求控制区的基本操作,请查看《编辑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、构造器

 

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

3.1 初始数据

 

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

  • 自定义数据

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

  • 随机数

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

  • 动态生成数据

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

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

 

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

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

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

 

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

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

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

4、测试设置

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

 

  • 测试服务

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

  • 自动跟随请求重定向

  • 开关配置,默认开启。

  • 验证SSL证书

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

  • 发送Eolink Token头部

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

  • 发送 no-cache 头部

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

  • cache-control:no-cache

  • 报文编码格式

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

三、返回展示区

 

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

1、时间分析

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

2、返回结果

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

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

3、返回头部

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

4、请求内容

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

5、请求头部

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

6、测试历史

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

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

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

 

四、测试辅助工具

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

1、环境管理工具

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

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

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

2、 生成请求示例代码

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android进阶之路 - 深入浅出字体、字体库

当时组内临时接到一个换字体库的需求,这个需求相对简单,因为手头有其他事情,同时之前也没换过字体库,就交给了同事去做了;现在有时间就好好充实下自己 ( 我写的也未必全对,如有不足可直接提出,相…

vue 组件基本使用方法

前言:vue 可以比较灵活的使用 html的片段,并将html的片段进行数据隔离,参数也可以互相传递,组件与组件之间也可以进行数据的交互 合理的使用组件可以避免重复代码或者很方便的调用第三方组件库 vue组件 简单实例组件传参实际应用父子组件交互…

右键文件夹添加指定打开的程序(如:IDEA、PyCharm等)

一.打开注册表 使用winR打开运行界面(默认为左下角)输入regedit 二.进入指定目录 1.找不到可直接复制路径: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell 2.在当前路径shell下右键->新建->项->命名IDEA (名字任意即可),修改默认…

利用影刀RPA批量导出excel中的图片并重命名

本程序要求excel中的图片应该符合以下截图中的格式: 图片和名称应该处于同一行,而且图片应该是嵌入在单元格中 程序参考:

linux系统Nginx服务Rewrite重写

文章目录 一、Rewrite跳转场景二、Rewrite跳转实现三、Rewrite实际场景1.Nginx跳转需求的实现方式2.rewrite放在 server{}、if{}、location{}段中3.对域名或参数字符串 四、Nginx正则表达式1.常用的正则表达式元字符2.正则表达式的优点 五、Rewrite命令1.Rewrite命令语法2.flag…

数字IC前端学习笔记:仲裁轮询(六)

相关文章 数字IC前端学习笔记:LSFR(线性反馈移位寄存器) 数字IC前端学习笔记:跨时钟域信号同步 数字IC前端学习笔记:信号同步和边沿检测 数字IC前端学习笔记:锁存器Latch的综合 数字IC前端学习笔记&am…

数据库学习3

主键使用 主键的使用 CREATE TABLE t17 (id INT PRIMARY KEY ,name VARCHAR(32), email VARCHAR(32)); 主键列的值不可以重复 INSERT INTO t17 VALUES(1,jack,jacksohu.com); INSERT INTO t17 VALUES(2,tom,tomsohu.com); INSERT INTO t17 VALUES(1,hsp,hspsohu.com); SELECT …

《计算机系统与网络安全》 第九章 访问控制技术

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

2022(二等奖)C859基于WebGIS的南京市排污口管理系统

作品介绍 一、需求分析 (一)社会需求 《国务院办公厅关于加强入河入海排污口监督管理工作的实施意见》明确提出,入河入海排污口(以下简称排污口)是指直接或通过管道、沟、渠等排污通道向环境水体排放污水的口门,是流…

Day40

思维导图 练习 定义一个命名空间Myspace,包含以下函数:将一个字符串中的所有单词进行反转,并输出反转后的结果。例如,输入字符串为"Hello World",输出结果为"olleH dlroW",并在主函数…

Visual C++中的虚函数和纯虚函数的定义

我是荔园微风,作为一名在IT界整整25年的老兵,今天来说说Visual C中的虚函数和纯虚函数。 直接说虚函数和纯虚函数有很多人会直接晕,但是来看这篇帖子的很多人是有JAVA或其他面象对象编程基础的,我要不就先作个类比,究…

【Java面试题】Java基础——排序算法

文章目录 冒泡排序★★★算法步骤动图演示代码示例 选择排序算法步骤动图演示 插入排序算法步骤动图演示 快速排序算法步骤动图演示 冒泡排序★★★ 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。 它重复的遍历过要排序的数列,一次比…

Debian 12 “bookworm” 正式发布

经过 1 年 9 个月零 28 天的开发,Debian 项目推出了其新的稳定版本 12(代号 bookworm)。 Debian 12 包含超过 11,089 个新软件包,总计 64,419 个软件包, 6,296 个软件包已作为过时包删除。此版本更新了 43,254 个软件…

threejs让模型始终面向相机

需求:threejs导入3D模型,改变相机位置的同时,让模型始终面向相机。 实现方式:使用模型的lookAt()方法,设置模型lookAt的值 首次加载模型时,面向相机 load.load(/model5.glb, g > {// 获取相机位置const…

浮点数不再神秘:JS浮点数精度详解

文章目录 I. 引言JS中什么是浮点数为什么精度会受到影响 II. 浮点数精度的问题浮点数精度丢失的例子JS中最常见的浮点数问题精度问题对计算的影响 III. 如何避免浮点数精度问题使用精度库避免精度错误的方法显示控制精度的方法 IV. 浮点数精度问题与前端开发前端开发中的浮点数…

在k8s上部署vue

1. dockerfile镜像文件编写 # 拉取 nginx镜像 FROM nginx:1.24.0# 拷贝 nginx 配置文件到 docker中 COPY nginx.conf /etc/nginx/nginx.conf# 拷贝vue打包后的文件到 docker中 COPY webapp /usr/share/nginx/html# 新增时区设置 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai…

【FreeRTOS】FreeRTOS 静态创建任务与删除

0. 实验准备 正点原子 STM32407ZG 探索者开发板 FreeRTOS 例程模板(可以在这一篇文章找到:STM32F407 移植 FreeRTOS) 1. 静态创建任务函数 API 1.1 函数简介 动态创建任务需要使用到BaseType_t xTaskCreate函数,我们可以在 Fr…

VUE L ∠脚手架 插曹Vuex ⑩⑨

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs C L I CLI CLI 插槽 ❗ C L I CLI CLI V u e X VueX VueX 1、概念 2、何时使用? 3、搭建 V u e x Vuex Vuex环境 4、基本使用…

基于Scrcpy的Android手机屏幕投影到电脑教程

基于Scrcpy的Android手机屏幕投影到电脑教程 文章目录 基于Scrcpy的Android手机屏幕投影到电脑教程一,前言二,具体步骤1.软件下载2.环境配置 三,基于Scrcpy的手机投屏教程1.基于Scrcpy的有线手机投屏2.无线投屏 一,前言 在执行某…

Spring学习(一)(IoC和DI)

1.Spring是什么??? 天天都能听到Spring,Spring,Spring。这东西到底是什么东西,是一个框架。没错通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是⼀个开源…