Eolink Apikit:HTTP 介面測試,零程式碼、快速上手

API小達人發表於2023-12-12

功能入口 API管理應用 - 選中某個專案 -  API文件選單 - 選中某一API文件 - 點選 測試TAB

API文件測試頁,可對該API文件描述的介面進行快速測試。API文件測試頁分為 地址控制欄請求控制區返回展示區,以及 測試輔助工具區共四個部分。


1、地址控制欄

測試頁頂部是地址控制欄,介面的協議固定不可更改,但可調整 介面請求方式介面地址URL

1. 介面測試 URL 調整

在本頁面點選右上角的 切換環境,系統會自動填入該環境的域名或IP到URL地址字首。使用者也可以直接在位址列中填入 域名 IP進行測試。

2. 匯入或存為測試用例

URL編輯欄旁第一個按鈕可實現快速匯入舊的測試用例或存為新的測試用例。

點選該按鈕,可以選擇 當前介面已有的測試用例一鍵匯入進行測試,也可以把 當前除錯完畢的請求資料儲存為一個新的測試用例。

3. 測試傳送按鈕

在測試用例快速操作按鈕右側是當前測試的傳送按鈕,該按鈕高亮顯示,按鈕顏色跟隨主題色。點選 傳送按鈕後,會根據請求資料對該介面發起一次請求。發起後系統會開始讀秒,顯示該測試已耗時間。

傳送按鈕可選兩種測試模式: 伺服器測試 瀏覽器外掛測試

若選擇 伺服器測試,則測試執行資源為eolink系統的遠端伺服器資源。在Eolink的SaaS產品上,因為多個團隊共用一套資源,故對測試請求增加了限制。若該介面測試耗時已超過10秒,則自動終止該測試任務,並返回介面超時的資訊。

若選擇 瀏覽器外掛測試,則測試執行資源為使用者本地機器。但使用該模式需要跟隨指引安裝瀏覽器外掛。而在PC客戶端上,該外掛本身已整合在客戶端框架內,無需下載安裝,直接切換使用即可。

4. cookie 管理工具

測試過程中會需要使用多個不同的cookie,cookie管理工具可以快捷的解決這個問題。使用者可以點選測試頁面右上角的 cookie管理工具按鈕,開啟管理視窗。

在cookie管理視窗中,先新增對應的域名地址,然後可對該域名地址新增多個cookie值。當進行介面測試時,請求的是對應的域名地址,則系統會自動把該域名地址下的所有cookie值附帶在請求頭部中。


2、請求控制區

API文件中的內容均會自動同步到測試頁的請求控制區中,故請求控制區與API文件編輯頁的請求引數輸入區基本一致。均有請求頭部、請求體、Query引數、REST引數、許可權校驗、前置指令碼、後置指令碼。而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. 構造器

構造器是測試時系統提供的快速生成請求資料的工具。一般用於快速對資料進行加密和生成隨機數值。可在請求引數中某個欄位的右側選擇構造器操作,透過構造器生成該欄位的引數值。構造器由兩種型別的操作組成: 設定初始資料多重操作

初始資料

其中初始資料可選三種型別:自定義資料、動態生成資料和生成隨機數值。

  • 自定義資料

在輸入任何資料作為初始值,自定義資料的初始值一般用於需要對某個固定值加密的場景。

  • 隨機數

使用者可填寫最大值數值和最小值數值,系統會從該數值範圍內隨機輸出某個數值。

  • 動態生成資料

系統提供類似於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…
郵箱
IP 59.192.237.172
16進位制顏色 #f27988
RGB顏色 rgb(121, 172, 242)
RGBA顏色 rgba(207, 242, 121, 0.06)

多重操作

輸入了初始值後,可對該初始值進行各種資料操作,且可對資料操作後已處理的資料再進行其他的資料操作,以滿足多重資料操作,如多重加密等場景。

當前提供的資料操作方式如下表:

操作方法 解釋
base64 按照bace64編碼進行加密
MD5 按照MD5編碼進行加密
upper 字母轉成大寫
lower 字母轉成小寫
length 取欄位長度值
hmac 按照HAMC演算法進行加密,需要另外輸入金鑰
sha 按照sha演算法進行加密
string 設為字串值,給資料增加雙引號或單引號
substring[字串擷取] 字串擷取,擷取資料中的某段內容
concat[字串拼接] 字串拼接,可在字串末尾拼接某段內容

表示式和靜態值

使用者在進行構造器操作的同時,構造器彈窗底部會同步顯示當前已設定資料操作步驟的動態公式,以及根據公式隨機生成的靜態值。資料操作步驟設定完畢後,使用者可以選擇把動態公式或當前隨機靜態值插入到測試請求的引數值中。

若選擇插入的是動態公式且初始資料為動態資料或隨機數,則每次測試系統均會根據公式的條件,隨機生成符合公式的引數值。一般每次測試生成的隨機值均不一樣。

若選擇插入的是靜態值,則會把該值固定填入到對應的引數值欄位內,每次測試請求時均請求同一個引數值。

4. 測試設定

API文件測試的設定有6項,用於配置測試的特殊規則。具體邏輯如下:

  • 測試服務

下拉單選,預設選中使用Eolink Apikit 遠端伺服器。可選使用瀏覽器外掛進行測試。選中後系統會自動儲存,選中其他介面測試時會沿用最近選種的測試服務方式。

  • 自動跟隨請求重定向

開關配置,預設開啟。

  • 驗證SSL證照

開關配置,預設關閉。關閉後可不驗證SSL證照,但僅針對伺服器測試或客戶端測試。若是瀏覽器測試,則該開關配置無效,均需要驗證SSL證照。

  • 傳送Eolink Token頭部

開關配置,預設開啟。開啟後請求頭會增加Eolink Token資訊,若關閉則不新增。

  • 傳送 no-cache 頭部

開關配置,預設關閉。開啟後請求頭會自動增加一條以下引數資訊:

cache-control:no-cache
  • 報文編碼格式

單選配置,預設選中UTF-8,可選項有UTF-8和GBK。


3、返回展示區

測試頁底部是測試返回資訊展示區。其中包含時間分析、返回結果、返回頭部、請求內容、請求頭部、測試歷史等模組。

1. 時間分析

時間分析模組可檢視該介面請求的每一步耗時情況。可方便的瞭解在哪個環節耗時較長或導致的介面異常。

2. 返回結果

用於展示該介面請求的返回結果和返回具體內容。若介面請求成功,返回200狀態碼,則會在該模組頁頂部展示200。並在底部顯示該介面的返回具體資訊。

若介面返回異常,則會在該模組頁頂部展示異常的狀態碼,並在底部顯示具體的異常資訊。

3. 返回頭部

介面請求成功後,除了會展示返回結果外,也會展示具體的返回頭部。在該模組可檢視返回頭部的所有資訊。

4. 請求內容

無論請求是否成功,均可在請求內容中檢視實際傳送的請求體內容。可用於判斷請求內容是否傳送正確。

5. 請求頭部

展示該次請求的請求頭部資訊,包含了完整的請求頭資訊。如隱藏的eo-token,user-agent等均會正常展示。

6. 測試歷史

在API文件測試頁對該介面進行的每一次測試均會被系統儲存起來,成為測試歷史。

點選某行測試歷史,系統會自動填充該歷史的所有資料到當前測試頁中。包含當時的測試地址、請求內容以及返回結果。會用歷史的資料覆蓋當前的資料來進行歷史測試狀態的完整復現。

使用者可點選單行測試歷史右側的刪除按鈕,刪除對應的測試歷史資料。或點選頂部的清空測試歷史按鈕,清空所有的測試歷史記錄。


4、測試輔助工具

在測試過程中,Eolink提供兩種測試輔助工具:環境管理和cookie管理。另外還有評論和變更通知管理工具,這裡不贅述。

1. 環境管理工具

測試頁面右上角的快捷環境管理工具主要用於切換測試環境。可選擇應用級和專案級已建立好的環境進行測試。選中某個環境後,介面URL會自動補充該環境域名或IP作為字首。

可點選僅展示當前賬號建立的環境,方便在團隊協作時快速找到自己的測試環境。

點選環境管理工具上的小眼睛圖示,可以檢視當前的全域性變數和環境變數情況。需要注意的是當全域性變數和環境變數均有同一變數引數,則讀取環境變數的變數值。即環境變數優先順序大於全域性變數。使用者也可以在當前的變數預覽表中對變數值進行編輯。

2. 生成請求示例程式碼

在測試傳送按鈕右側是 生成程式碼按鈕,該按鈕是可一鍵根據當前測試頁的請求資料生成多種主流程式語言的介面請求程式碼。方便使用者在程式中複用該請求資料。


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70027288/viewspace-2999772/,如需轉載,請註明出處,否則將追究法律責任。

相關文章