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