Postman 是一個允許我們開發(fā)、使用和測試 Rest API 的平臺。它可以作為 Chrome 的擴展使用。
API代表應(yīng)用程序編程接口,用于穩(wěn)定兩個不同應(yīng)用程序之間使用任何通信方式的交互。每次您在智能手機上查看天氣或火車到站時,您都在使用 API,使您的智能手機應(yīng)用程序能夠從氣象局的應(yīng)用程序或火車運營商的火車跟蹤和時刻表系統(tǒng)中提取信息。
API 還有助于控制應(yīng)用程序可能不一定有權(quán)使用的硬件設(shè)備和軟件功能。這就是 API 通常在安全性方面發(fā)揮重要作用的原因。
API 是物聯(lián)網(wǎng)世界不可或缺的一部分,它將移動應(yīng)用程序與真實設(shè)備集成在一起。API 充當粘合劑,幫助將設(shè)備、產(chǎn)品、設(shè)施、資產(chǎn)和其他對象與使用它們生成的數(shù)據(jù)的應(yīng)用程序連接起來。
物聯(lián)網(wǎng)中所有設(shè)備的集成都是關(guān)于 API 的——可互操作的邏輯連接,允許應(yīng)用程序與每個制造商的物聯(lián)網(wǎng)設(shè)備進行通信。API 提供的數(shù)據(jù)使這些設(shè)備能夠?qū)⑿畔鬏數(shù)阶罱K應(yīng)用程序,充當數(shù)據(jù)接口。此外,它們可以允許最終應(yīng)用程序控制設(shè)備并用作功能接口。
為什么要測試 API?
由于 API 在數(shù)據(jù)方面至關(guān)重要并且充當應(yīng)用程序和設(shè)備之間的橋梁,因此需要對其進行測試以確保正確表示數(shù)據(jù)。完美的工作 API 導致完美的工作應(yīng)用程序。測試 API 解決了應(yīng)用程序中的許多問題,這些問題可能在未來的某個時候出現(xiàn)。有很多軟件可用于 API 測試,其中一種軟件是 Postman。
使用 Postman 進行 API 自動化測試
Postman 是一個允許我們開發(fā)、使用和測試 Rest API 的平臺。它可以作為 Chrome 的擴展使用。
主要亮點
Postman 允許我們創(chuàng)建集成測試集合,以確保 API 按預期工作。對于每個測試,都會發(fā)出一個 HTTP 請求,然后使用 JavaScript 編寫的斷言來驗證代碼的完整性。
Postman 提供了斷言列表,并且由于測試和測試斷言是用 JavaScript 編寫的,我們可以自由地以不同的方式操作接收到的數(shù)據(jù),例如創(chuàng)建局部變量,甚至創(chuàng)建循環(huán)以重復運行測試。
Postman 還允許我們將來自先前測試的數(shù)據(jù)存儲到全局變量中。這些變量可以像環(huán)境變量一樣使用。例如,有一個 API 需要從另一個 API 接收數(shù)據(jù)。我們可以存儲響應(yīng)(或響應(yīng)的一部分,因為它是 JavaScript)并將其用作請求標頭、帖子正文或 URL 的一部分,以供后續(xù) API 調(diào)用。
在 Postman 的幫助下,我們可以將為一個環(huán)境編寫的代碼(斷言)重用于多個其他環(huán)境。
一旦開發(fā)完成,它就不需要維護,并且可以在任何時間點進行驗證,無需任何更改。
紐曼 CLI
一旦 Postman 集合運行器準備就緒,它就會導出集合并使用 Newman 從命令行執(zhí)行它。Newman 會在執(zhí)行后發(fā)布報告,這可以讓您大致了解 API 故障以及詳細信息。
主要亮點
Newman 直接從命令行運行和測試郵遞員集合。
它是可擴展的,因此我們可以輕松地將它與我們的持續(xù)集成服務(wù)器和構(gòu)建系統(tǒng)集成。
它附帶一份報告,提供完整的執(zhí)行信息。
Newman 基于 Node.js 構(gòu)建,可以從以下 URL 下載:https ://nodejs.org/download/ 。
一旦我們安裝了 Node.js,現(xiàn)在可以使用以下命令將 Newman 安裝到機器中:“npm install -g newman”。它可以進一步擴展以使用“newman-reporter-htmlextra”接收報告,其中包括迭代運行的分離而不是聚合在一起。它還包括一些額外的幫助程序,使用戶能夠創(chuàng)建更好的自定義模板。
為了通過命令行觸發(fā)執(zhí)行,需要使用以下命令:
“newman 運行“APITests.postman_collection”--environment “ClearbladeTest.postman_environment”-r htmlextra --reporter-htmlextra-title “Newman 運行儀表板。”
使用 CI 執(zhí)行自動化測試
為了完成整個過程并使其從觸發(fā)到報告完全自動化,我們需要將該流程與稱為 Jenkins 的持續(xù)集成集成。在部署開發(fā)代碼時,可以對其進行測試,并且可以通過 Jenkins 自動觸發(fā) API 測試的執(zhí)行。測試執(zhí)行報告將在郵箱中收到。
實時云 API 缺陷
API 自動化測試產(chǎn)生的實時錯誤可以在產(chǎn)品發(fā)布之前修復,從而提高代碼效率并減少系統(tǒng)中的缺陷。例如,存在用戶無法從應(yīng)用程序中刪除位置/設(shè)備的問題,并且之前通過 API 測試結(jié)果報告了該問題,這有助于我們保持代碼質(zhì)量和應(yīng)用程序質(zhì)量。
結(jié)論
API 測試自動化支持兩個獨立軟件系統(tǒng)之間的通信和數(shù)據(jù)交換。實現(xiàn) API 的軟件系統(tǒng)包含可由另一個軟件系統(tǒng)執(zhí)行的功能/子例程。它通過增加測試覆蓋率和頻率來幫助創(chuàng)建更健壯和抗錯誤的程序。
審核編輯:郭婷
-
智能手機
+關(guān)注
關(guān)注
66文章
18477瀏覽量
180109 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372771 -
API
+關(guān)注
關(guān)注
2文章
1499瀏覽量
61962
發(fā)布評論請先 登錄
相關(guān)推薦
評論