W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
測試確認(rèn)您的 API 按預(yù)期工作,服務(wù)之間的集成可靠地運(yùn)行,并且任何更改都沒有破壞現(xiàn)有功能。您可以使用 JavaScript 為 Postman API 請求編寫測試腳本。當(dāng)您的 API 項(xiàng)目出現(xiàn)問題時(shí),您還可以使用測試代碼來幫助調(diào)試過程。例如,您可能會(huì)編寫一個(gè)測試,通過發(fā)送包含不完整數(shù)據(jù)或錯(cuò)誤參數(shù)的請求來驗(yàn)證 API 的錯(cuò)誤處理。
您可以將測試添加到單個(gè)請求、集合和集合中的文件夾。Postman 包括您添加的代碼片段,然后更改以適合您的測試邏輯。
要向請求添加測試,請打開請求并在“測試”選項(xiàng)卡中輸入您的代碼。測試將在請求運(yùn)行后執(zhí)行。輸出位于響應(yīng)的“測試結(jié)果”選項(xiàng)卡中。
無論方法類型是一元、客戶端流、服務(wù)器流還是雙向流,這兩個(gè)執(zhí)行掛鉤都可用于所有 gRPC 請求。您的腳本可以包含您需要的任意多個(gè)測試,并且在您選擇Save時(shí)將與您的請求的其余部分一起保存。
當(dāng)您選擇Invoke時(shí),將在調(diào)用請求之前或之后運(yùn)行測試。如果您選擇Cancel,請求執(zhí)行和任何進(jìn)一步的腳本執(zhí)行。
如果您的 Before invoke 腳本中有任何錯(cuò)誤,它將停止請求執(zhí)行。
測試腳本可以使用動(dòng)態(tài)變量,對響應(yīng)數(shù)據(jù)執(zhí)行測試斷言,并在請求之間傳遞數(shù)據(jù)。在請求的“測試”選項(xiàng)卡中,手動(dòng)輸入您的 JavaScript 或選擇代碼編輯器旁邊的“片段” 。
收到響應(yīng)后執(zhí)行測試。當(dāng)您選擇Send時(shí),Postman 在響應(yīng)數(shù)據(jù)從 API 返回后運(yùn)行您的測試腳本。
如果您需要在請求運(yùn)行之前執(zhí)行代碼,請改用預(yù)請求腳本。有關(guān)腳本在請求運(yùn)行時(shí)如何執(zhí)行的更多信息,請參閱腳本簡介。
要驗(yàn)證請求返回的數(shù)據(jù),您可以pm.response在測試中使用該對象。使用函數(shù)定義測試pm.test,提供名稱和返回布爾值(true或false)的函數(shù),該值指示測試是通過還是失敗。使用ChaiJS BDD語法并pm.expect在您的斷言中測試響應(yīng)細(xì)節(jié)。
該.test函數(shù)的第一個(gè)參數(shù)是將出現(xiàn)在測試結(jié)果輸出中的文本字符串。使用它來識(shí)別您的測試,并將測試的目的傳達(dá)給查看結(jié)果的任何人。
例如,在請求的“測試”200選項(xiàng)卡中輸入以下內(nèi)容以測試響應(yīng)狀態(tài)代碼是否為:
pm.test("Status test", function () {
pm.response.to.have.status(200);
});
選擇發(fā)送以運(yùn)行您的請求并在響應(yīng)部分打開測試結(jié)果。選項(xiàng)卡標(biāo)題顯示通過了多少測試以及總共運(yùn)行了多少測試。您還可以查看Passed、Skipped和Failed測試結(jié)果的數(shù)量。
如果請求返回200狀態(tài)代碼,則測試通過。要了解不同狀態(tài)代碼會(huì)發(fā)生什么情況,請更改測試腳本中的預(yù)期狀態(tài)代碼并再次運(yùn)行請求。
使用pm.expect語法為您的測試結(jié)果消息提供不同的格式。試驗(yàn)替代方案以獲得您認(rèn)為最有用的輸出。
使用Intro to writing tests 集合中的Run in Postman按鈕將包含一些示例測試腳本的模板導(dǎo)入 Postman 并試驗(yàn)代碼。
您的代碼可以測試請求環(huán)境,如下例所示:
pm.test("environment to be production", function () {
pm.expect(pm.environment.get("env")).to.equal("production");
});
您可以使用不同的語法變體以您認(rèn)為可讀且適合您的應(yīng)用程序和測試邏輯的方式編寫測試。
pm.test("response should be okay to process", function () {
pm.response.to.not.be.error;
pm.response.to.have.jsonBody("");
pm.response.to.not.have.jsonBody("error");
});
您的測試可以使用您為響應(yīng)數(shù)據(jù)格式定制的語法來確定請求響應(yīng)的有效性。
pm.test("response must be valid and have a body", function () {
pm.response.to.be.ok;
pm.response.to.be.withBody;
pm.response.to.be.json;
});
您的腳本可以包含您需要的任意多個(gè)測試,并且在您選擇Save時(shí)將與其余的請求詳細(xì)信息一起保存。如果您共享集合、發(fā)布文檔或使用“在 Postman 中運(yùn)行”按鈕,您的測試代碼將包含在任何查看或?qū)肽哪0宓娜酥小?/p>
您可以使用精選的常用測試代碼片段列表來編寫測試。片段在腳本編輯器的右窗格中可用。選擇一個(gè)片段會(huì)自動(dòng)將所需的代碼添加到您的腳本中,幫助您快速開始測試。添加到腳本后,您可以編輯片段以滿足您的特定測試要求。
您可以將測試腳本添加到集合、文件夾或集合中的單個(gè)請求。與集合關(guān)聯(lián)的測試腳本將在集合中的每個(gè)請求之后運(yùn)行。與文件夾關(guān)聯(lián)的測試腳本將在文件夾中的每個(gè)直接子請求之后運(yùn)行。這使您能夠在請求后重用通常執(zhí)行的測試。每個(gè)請求的執(zhí)行順序?qū)⑹鞘占瘻y試,文件夾測試,然后是請求測試。
將腳本添加到集合和文件夾使您能夠測試 API 項(xiàng)目中的工作流。這有助于確保您的請求涵蓋典型場景,為應(yīng)用程序用戶提供可靠的體驗(yàn)。
您可以通過選擇集合或文件夾名稱旁邊的查看更多操作圖標(biāo) ,然后選擇編輯來更新集合和文件夾腳本。選擇“測試”選項(xiàng)卡以添加或更新您的腳本。您還可以在首次創(chuàng)建集合時(shí)添加集合腳本。
當(dāng)您運(yùn)行一個(gè)集合時(shí),集合運(yùn)行器會(huì)顯示測試結(jié)果,包括以毫秒為單位的響應(yīng)時(shí)間以及有關(guān)集合中的特定請求是通過還是未通過其測試的詳細(xì)信息。
您可以使用分支和循環(huán)編寫腳本來控制請求的運(yùn)行順序。
如果您在測試時(shí)遇到問題:
在 Postman 中編寫測試后,您可以編寫更復(fù)雜的測試并將它們與其他 Postman 實(shí)用程序一起使用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: