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