Postman 構(gòu)建請(qǐng)求工作流程

2023-04-04 11:10 更新

通常,當(dāng)您開(kāi)始收集運(yùn)行時(shí),Postman 會(huì)按照它們?cè)谀氖占谐霈F(xiàn)的相同順序運(yùn)行所有請(qǐng)求。文件夾中的請(qǐng)求首先執(zhí)行,然后是集合根目錄中的任何請(qǐng)求。

在 Collection Runner 中,您可以選擇在開(kāi)始運(yùn)行之前更改請(qǐng)求的順序。但是,無(wú)需在每次運(yùn)行集合時(shí)手動(dòng)更改請(qǐng)求順序,您可以使用該postman.setNextRequest()函數(shù)自動(dòng)執(zhí)行此行為。

顧名思義,postman.setNextRequest()使您能夠指定 Postman 在當(dāng)前請(qǐng)求之后接下來(lái)運(yùn)行哪個(gè)請(qǐng)求。使用此功能,您可以構(gòu)建鏈接請(qǐng)求的自定義工作流,以特定順序一個(gè)接一個(gè)地運(yùn)行它們。

設(shè)置下一個(gè)請(qǐng)求

設(shè)置下一個(gè)請(qǐng)求

要指定接下來(lái)要運(yùn)行的請(qǐng)求,請(qǐng)?jiān)谡?qǐng)求的“測(cè)試”選項(xiàng)卡上添加以下代碼。替換request_name為您接下來(lái)要運(yùn)行的請(qǐng)求的名稱。

postman.setNextRequest("request_name");

Postman 在完成當(dāng)前請(qǐng)求后運(yùn)行指定的請(qǐng)求。

循環(huán)請(qǐng)求

如果將當(dāng)前請(qǐng)求的名稱傳遞給該setNextRequest函數(shù),Postman 將重復(fù)運(yùn)行當(dāng)前請(qǐng)求。

循環(huán)請(qǐng)求

重要的!確保包裝setNextRequest在一些額外的邏輯中,這樣請(qǐng)求就不會(huì)無(wú)限期地循環(huán)。例如,您可能會(huì)在一定次數(shù)的迭代后或滿足另一個(gè)條件時(shí)退出循環(huán)。否則,您將需要強(qiáng)制關(guān)閉 Collection Runner 以結(jié)束循環(huán)。

停止工作流

要停止工作流,請(qǐng)?jiān)谡?qǐng)求的測(cè)試選項(xiàng)卡上添加以下代碼。

postman.setNextRequest(null);

Postman 完成當(dāng)前請(qǐng)求后,收集運(yùn)行將停止。

構(gòu)建請(qǐng)求工作流的技巧

使用該功能時(shí)請(qǐng)牢記以下提示postman.setNextRequest()。

setNextRequest() 僅在運(yùn)行整個(gè)集合時(shí)有效

該函數(shù)在您使用Sendpostman.setNextRequest()運(yùn)行請(qǐng)求時(shí)無(wú)效,僅在您使用 Collection Runner、Postman CLI 或 Newman 運(yùn)行集合時(shí)使用。

在預(yù)請(qǐng)求或測(cè)試腳本中使用 setNextRequest()

postman.setNextRequest()您可以在預(yù)請(qǐng)求腳本或請(qǐng)求的測(cè)試腳本中使用。如果分配了多個(gè)值,則設(shè)置的最后一個(gè)值優(yōu)先。

使用請(qǐng)求 ID 指定下一個(gè)請(qǐng)求

您可以提供請(qǐng)求 ID,而不是指定接下來(lái)要運(yùn)行的請(qǐng)求的名稱。要查找請(qǐng)求 ID,請(qǐng)打開(kāi)請(qǐng)求并選擇 信息圖標(biāo) 右側(cè)欄中的信息圖標(biāo)。

請(qǐng)注意,顯示的 ID 是用戶 ID 后跟請(qǐng)求 ID。省略前八位數(shù)字和破折號(hào)以獲取請(qǐng)求 ID。您還可以使用函數(shù)獲取請(qǐng)求 ID pm.info.requestId(請(qǐng)參閱腳本工作流程)。

獲取請(qǐng)求 ID

setNextRequest() 總是最后執(zhí)行

該postman.setNextRequest()函數(shù)始終在當(dāng)前請(qǐng)求結(jié)束時(shí)執(zhí)行。如果你在這個(gè)函數(shù)之后的預(yù)請(qǐng)求腳本或測(cè)試腳本中的任何地方放置其他代碼塊,代碼塊仍然會(huì)在之前執(zhí)行postman.setNextRequest()。

setNextRequest() 范圍僅限于集合

的范圍postman.setNextRequest()是您的收集運(yùn)行的來(lái)源。

  • 如果運(yùn)行整個(gè)集合,則可以將集合中的任何請(qǐng)求設(shè)置為下一個(gè)請(qǐng)求,甚至是文件夾內(nèi)的請(qǐng)求。
  • 如果運(yùn)行文件夾,則范圍postman.setNextRequest()僅限于該文件夾。在這種情況下,您可以在與下一個(gè)請(qǐng)求相同的文件夾中設(shè)置任何請(qǐng)求,但不能在其他文件夾或集合的根目錄中設(shè)置請(qǐng)求。

了解有關(guān)運(yùn)行集合或文件夾的更多信息。

下一步

在了解了如何構(gòu)建請(qǐng)求工作流之后,您可以編寫(xiě)一些腳本。

  • 要了解有關(guān)編寫(xiě)預(yù)請(qǐng)求和測(cè)試腳本的更多信息,請(qǐng)?jiān)L問(wèn)Postman 中的腳本


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)