摘要:同時還有對應的返回值字段描述通過這個方法,可以隨時隨地的測試以及更新文檔,簡直是后端小伙伴的福音但是,不知道小伙伴們有沒有發現一個問題,就是在生成接口文檔的時候,還是需要自己填寫參數描述。對于測試同學來說,這是一個非常不錯的功能。
我們都知道在一個團隊中是由很多角色組成的,例如:業務、產品、設計、前端、后端、測試。每個角色各司其職,一起合作完成項目的交付。
而前端與后端的溝通則是需要通過一個統一的文件進行溝通交流,即通過接口文檔事先約定好后端的接口返回內容,然后大家就按照這個文檔約定完成前后端的開發。并且一般接口文檔都是通過后端人員編寫的,維護流程也比較繁瑣。
最近被群里小伙伴安利了一款接口管理工具?ApiPost,陌溪在使用后覺的非常不錯,在這里我也分享給大家。
ApiPost 包含了以下四種功能,同時具備接口調試,接口文檔,以及?Mock?工具,以及接口流程測試。
ApiPost = API 接口調試工具 + 接口文檔快速生成 + Mock 工具 + 接口流程測試
API 接口調試工具:常見的有 Postman、Postwoman 等等
接口文檔快速生成:常見的接口文檔工具有?Swagger?和?smart-doc,但是對代碼侵入性比較強。
Mock 工具:主要用于前端根據接口生成對應的數據,如?RAP?等工具。
接口測試:常見的接口測試工具有?JMeter
同時?ApiPost?也是國人開發的一款接口管理工具,致力于打造更好用的、中文的、接口調試與文檔管理工具(簡直是英語渣渣的福音~)
ApiPost首頁
接口調試是在開發階段中使用最多的一個功能,利用 ApiPost 進行常規的接口調試功能
ApiPost 進行常規的接口調試功能
讓我感覺最舒服的是,對于返回的參數是可以進行 Json 格式化的,下面是?Postman?自帶的?Pretty?功能 。
Postman自帶的Pretty功能
下面是?ApiPost?的?Json?格式化功能,并且通過右側的三角形,可以對數組元素進行展開或者合攏。在面對返回結果是一個數組,并且每個對象中字段很多的時候,這個功能就非常棒了。
ApiPost的Json格式化功能
沒有對比就沒有傷害,在看看?Postman?的輸出,每次只能把結果復制出來,然后打開?Json?在線格式化,才能夠看到返回的結果,簡直增加了額外的負擔。
Json 格式化:https://www.sojson.com/
在線Json格式化
同時,還有一個讓我非常喜歡的點,就是?全局參數。
在上面的示例中,我們需要給接口填寫對應的鑒權請求頭,才能夠請求后臺獲得數據。
全局參數
但在實際項目中,對于一批接口需要測試的時候,往往每個接口都需要填寫相同的鑒權請求頭,這樣過程會非常繁瑣。如果使用 ApiPost 的話,我們可以利用全局參數或者目錄參數實現。
全局參數
配置完成后,以后添加的接口,再次請求后臺時,就會攜帶全局定義的請求頭過去。同理,還支持全局的?Query?以及?Body,可以把一些不變的請求參數都配置好全局參數,這樣會讓我們編寫接口請求時,省下很多時間~
同時,我們還可以創建不同的目錄,用來區分項目接口所處的不同模塊。例如:以蘑菇博客為例,可以創建兩個目錄?mogu-admin?和?mogu-web,分別代表蘑菇博客的后端管理與門戶項目。
蘑菇博客地址:https://gitee.com/moxi159753/mogu_blog_v2
因為,后臺管理和門戶是有兩套鑒權邏輯的,即上面提到的全局配置 token 就不能針對兩個場景生效了!
那如果我還想同時測試 門戶類相關接口,或者是后臺管理相關接口,那怎么辦呢?
這個時候就需要用到目錄參數了,它的作用和全局參數雷同,只是作用域不一樣,mogu-admin?目錄下的接口不會使用同級的 mogu-web 目錄的目錄參數作為發送參數。
目錄參數
通過對不同的目錄,配置不同的全局參數,即可完美的解決剛剛的場景。
同時,當全局參數、目錄參數、接口中都使用了同一個參數時,最終會按照以下優先級讀取參數值:
單個接口 > 目錄參數 > 全局參數
如上面的示例,如果全局參數、目錄參數、接口中都定義了 header 參數 token:
全局參數:token 值為:698d51a19d8a121ce581499d7b701668 // 最低優先級 目錄參數:token 值為:b50e345cc9febd86dedecc551ebcc505 // 其次優先級 單接口參數:token 值為:a1a9db893bb8a28ccb665d2af54d9417 // 最高優先級
那么最終發送的?token?值為:a1a9db893bb8a28ccb665d2af54d9417
點擊分享文檔,即可獲取對應的文檔鏈接
復制并打開文檔地址就可以看到了完整的接口文檔。
細心的小伙伴可能會發現,這個請求參數上沒有相關字段的介紹,我們回到剛剛的?ApiPost?頁面,點擊?提取字段和描述,然后填入對應的字段名稱。
然后重新發布,即可看到每個字段的含義了
有更細心的小伙伴,可能又會發現,這里為啥缺了點返回值呢?那是因為 APIPOST 不會把發送后的實時響應的數據作為響應示例。這個時候,需要手動的將實時響應結果導入或者復制到對應的成功響應示例和錯誤響應示例。
然后重新生成文檔,這個時候,就會包含我們的成功示例啦。
同時還有對應的返回值字段描述
通過這個方法,可以隨時隨地的測試以及更新文檔,簡直是后端小伙伴的福音~
但是,不知道小伙伴們有沒有發現一個問題,就是在生成接口文檔的時候,還是需要自己填寫參數描述。
填寫參數描述是我們最煩惱的一件事情,尤其對于很多接口來說,往往具有大量相同名稱、相同意義的參數,假如每次都需要手動錄入,將會是一件非常耗時、低效的事情。
這個時候,我們可以通過?ApiPost?參數描述庫解決這個問題,通過自定義參數描述庫,我們可以將本項目用到的大量參數進行預注釋。
并且,我們在填寫完某個描述后,會自動同步到?參數描述庫,以后如果匹配到了相同的名稱,會自動生成對應的描述,簡直是一勞永逸的方法。
我們都知道,在后端接口還沒有開發完成的時候,接口是無法獲取數據的,那么前端小伙伴就需要通過?Mock?事先編寫好?API?的數據生成規則,由工具動態生成?API?的返回數據。通過訪問 Mock 來獲得頁面所需要的數據,就可以輕松地完成對接工作。前后端人員只需要定義好接口文檔就可以開始并行工作,互不影響,只在最后的聯調階段往來密切。
ApiPost?可以讓你在沒有后端程序的情況下能真實地返回接口數據,我們可以用 ApiPost 實現項目初期純前端的效果演示,也可以用?ApiPost?實現開發中的數據模擬從而實現前后端分離。
同時,ApiPost?支持參數直接引用?mock.js?變量,點擊下方可以查看?內置 Mock 字段變量?有哪些
目前常用的內置變量有以下幾種:
@guid():隨機生成一個 GUID,例:DEfbBBBf-7A23-a4DB-9BB1-57BCFf5FB5fc
@integer(1,100):隨機生成一個?1 ~100?的整數
@datetime("yyyy-MM-dd HH:mm:ss"):返回一個隨機的日期和時間字符串。例:1977-11-17 03:50:15
@url("http"):生成隨機一個?http URL
@email():生成一個隨機?email?郵箱
@province():隨機生成一個中國省份(或直轄市、自治區、特別行政區)
@city():隨機生成一個中國城市
@title():隨機生成一個標題
@cname():隨機生成一個中文名稱
@cparagraph():隨機生成一段中文文本
下面我們利用這些常見的?Mock?變量,來生成一個?Mock?服務吧。
首先點擊?Mock 服務,然后編輯?Mock 模板,右側即可看到我們實時生成的?Mock 數據?了
在點擊上方的?復制鏈接?,即可把這個接口的?mock?請求交給前端小伙伴了,然后各種進行合作開發。
流程測試是針對一個接口集合的測試,選擇相應的環境,可以作為一系列請求一起運行。當您想要自動化 API 測試時,流程測試非常有用。點擊開始,接口集合會并發的像服務器發出請求,最后會按照定義好的測試校驗模塊給出測試結果。對于測試同學來說,這是一個非常不錯的功能。
在 ApiPost 中,創建一個流程測試需要如下步驟:
新建接口,并添加斷言
打開流程測試,新建一個流程
向流程添加測試接口
選擇環境,點擊開始測試
查看返回的測試接口
流程測試界面如下圖:
通過點擊接口名稱查看請求的請求和響應參數信息
同時在?ApiPost?中,還提供了很多內置函數,例如我們很輕松的就可以對某個變量進行解密處理。
更多關于?ApiPost?的功能,還等待小伙伴去發現。好啦,本期就到這里啦。
< END >
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/121479.html
摘要:適用于不同的操作系統,系統,還支持瀏覽器擴展程序應用程序等。官網是一款程序開發的開發工具,提供版本個人想法你無法拒絕的萬能編輯器官網吹牛逼的一句話,是收費的,請支持正版官網遇到問題請谷歌,勿百度。這包括請求響應和頭其中包含和緩存信息。 行裝無兵器,怎能行走天下呢。 Postman showImg(https://segmentfault.com/img/bVbcN5s?w=412&h=...
軟件測試工具大揭秘 前言軟件測試常用軟件GitPycharmBCompareTyporaXMindNavicatSublime TextPostmanFiddlerCharlesXshellXftpJmeter 前言 ??現如今,技術發展十分迅猛,開發者只有通過不斷的學習才能跟得上時代的步伐。而為了便于學習和工作(減少996),涌現了很多優秀的開發工具用以幫助開發者提高工作效率。現在我把我工...
摘要:本文主要描述的功能與使用方法是大廠的基于語言完成的一款超級強大的插件,名字也很親近郵遞員。前端后臺測試使用都可以提供很多幫助使用方便而且功能全面。在面板下方顯示欄中,可以檢查的響應。目前只支持請求未完待續。。。 本文主要描述postman的功能與使用方法Postman是404大廠的基于javascript語言完成的一款超級強大的插件,名字也很親近(郵遞員)。可以用于做API請求測試。前...
摘要:本文主要描述的功能與使用方法是大廠的基于語言完成的一款超級強大的插件,名字也很親近郵遞員。前端后臺測試使用都可以提供很多幫助使用方便而且功能全面。在面板下方顯示欄中,可以檢查的響應。目前只支持請求未完待續。。。 本文主要描述postman的功能與使用方法Postman是404大廠的基于javascript語言完成的一款超級強大的插件,名字也很親近(郵遞員)。可以用于做API請求測試。前...
閱讀 847·2021-11-25 09:43
閱讀 3681·2021-11-19 09:40
閱讀 882·2021-09-29 09:34
閱讀 1783·2021-09-26 10:21
閱讀 870·2021-09-22 15:24
閱讀 4187·2021-09-22 15:08
閱讀 3265·2021-09-07 09:58
閱讀 2656·2019-08-30 15:55