pm 對(duì)象 API 參考
pm 對(duì)象
pm對(duì)象是Postman中用于接口測(cè)試和腳本編寫的核心對(duì)象,它提供了豐富的方法和屬性,使得用戶能夠訪問(wèn)和操作接口請(qǐng)求和響應(yīng)的詳細(xì)信息,通過(guò)pm對(duì)象,還可以獲取和設(shè)置環(huán)境變量及全局變量,以及執(zhí)行異步HTTP請(qǐng)求等操作。
pm.info 對(duì)象
pm.info對(duì)象包含了接口運(yùn)行的相關(guān)信息,這些信息對(duì)于編寫動(dòng)態(tài)和自適應(yīng)的測(cè)試腳本非常有用,以下是pm.info對(duì)象的常用屬性:
pm.info.eventName: 返回當(dāng)前執(zhí)行的腳本類型,例如前置腳本(prerequest)或后置腳本(test)。
pm.info.iteration: 返回當(dāng)前執(zhí)行的迭代次數(shù)(從0開始),僅在集合測(cè)試中有效。
pm.info.iterationCount: 返回計(jì)劃執(zhí)行的總迭代次數(shù),僅在集合測(cè)試中有效。
pm.info.requestName: 返回當(dāng)前正在運(yùn)行的接口用例的名稱。
pm.info.requestId: 返回當(dāng)前正在運(yùn)行的接口用例的唯一ID。
pm.sendRequest 方法
pm.sendRequest
是一個(gè)功能強(qiáng)大的方法,允許用戶在腳本中異步發(fā)送HTTP/HTTPS請(qǐng)求,這對(duì)于需要進(jìn)行額外請(qǐng)求或處理復(fù)雜邏輯的場(chǎng)景非常有用,該方法接受兩個(gè)參數(shù):一個(gè)兼容Collection SDK的請(qǐng)求對(duì)象和一個(gè)回調(diào)函數(shù),回調(diào)函數(shù)接收兩個(gè)參數(shù):一個(gè)是錯(cuò)誤(如果有的話),另一個(gè)是兼容Collection SDK的響應(yīng)對(duì)象。
示例代碼
pm.sendRequest({ url: "https://postmanecho.com/get", method: "GET" }, function(err, res) { if (err) { console.log(err); } else { console.log(res.json()); } });
pm.variables 對(duì)象
pm.variables對(duì)象用于管理和操作臨時(shí)變量,臨時(shí)變量在當(dāng)前的請(qǐng)求或測(cè)試運(yùn)行期間有效,具有較高的優(yōu)先級(jí),pm.variables對(duì)象提供以下方法:
pm.variables.has(variableName)
: 檢查是否存在名為variableName的臨時(shí)變量。
pm.variables.get(variableName)
: 獲取名為variableName的臨時(shí)變量的值。
pm.variables.set(variableName, variableValue)
: 設(shè)置名為variableName的臨時(shí)變量的值為variableValue。
pm.variables.replaceIn(variableNa)
: 用字符串替換指定變量的值,如{{variable_name}}。
pm.environment 對(duì)象
pm.environment對(duì)象用于訪問(wèn)和操作環(huán)境變量,環(huán)境變量在不同的請(qǐng)求和測(cè)試中保持其值,并可用于實(shí)現(xiàn)測(cè)試的環(huán)境和配置的隔離,主要方法包括:
pm.environment.get(variableName)
: 獲取環(huán)境變量variableName的值。
pm.environment.set(variableName, variableValue)
: 設(shè)置環(huán)境變量variableName的值為variableValue。
pm.environment.clear()
: 清除當(dāng)前環(huán)境中所有變量。
pm.environment.unset(variableName)
: 刪除指定的環(huán)境變量variableName。
pm.request 和 pm.response 對(duì)象
在前置腳本和后置腳本中,可以通過(guò)pm.request和pm.response對(duì)象分別訪問(wèn)即將執(zhí)行的請(qǐng)求和已完成請(qǐng)求的響應(yīng),這些對(duì)象包含請(qǐng)求和響應(yīng)的詳細(xì)信息,如URL、方法、頭部和正文等。
pm.request: 提供對(duì)即將執(zhí)行的請(qǐng)求的訪問(wèn),可以修改請(qǐng)求的各個(gè)方面,例如添加或刪除頭信息。
pm.response: 提供對(duì)已完成請(qǐng)求的響應(yīng)信息的訪問(wèn),可以獲取響應(yīng)碼、狀態(tài)、頭信息和正文內(nèi)容等。
相關(guān)問(wèn)答FAQs
Q1: 如何在Postman中使用pm.sendRequest發(fā)送POST請(qǐng)求?
A1: 使用pm.sendRequest發(fā)送POST請(qǐng)求時(shí),需要定義請(qǐng)求對(duì)象,其中包含URL、方法、頭部和正文信息,示例代碼如下:
const postRequest = { url: "https://postmanecho.com/post", method: "POST", header: { "ContentType": "application/json" }, body: { mode: 'raw', raw: JSON.stringify({ key: "value" }) } }; pm.sendRequest(postRequest, function(err, res) { console.log(err ? err : res.json()); });
Q2: 如何通過(guò)pm對(duì)象獲取和設(shè)置環(huán)境變量?
A2: 可以通過(guò)pm.environment對(duì)象的方法來(lái)獲取和設(shè)置環(huán)境變量,要獲取名為"user"的環(huán)境變量的值,可以使用pm.environment.get("user")
,要設(shè)置該變量的值,可以使用pm.environment.set("user", "new_value")
。
下面是一個(gè)簡(jiǎn)化的介紹,用于展示pm域名和pm對(duì)象API的參考信息,請(qǐng)注意,實(shí)際的API和域名可能依賴于具體的應(yīng)用程序或服務(wù),以下內(nèi)容僅作為示例。
/pm/domain/list
/pm/domain/create
/pm/domain/update
/pm/domain/delete
/pm/object/list
/pm/object/create
/pm/object/update
/pm/object/delete
/pm/object/get
/pm/object/search
以下是對(duì)介紹中每一列的解釋:
API Endpoint: 指的是API的端點(diǎn),即用于訪問(wèn)特定功能的URL路徑。
Method: HTTP方法,表示對(duì)API端點(diǎn)的請(qǐng)求類型(GET用于檢索數(shù)據(jù),POST用于提交數(shù)據(jù),PUT用于更新數(shù)據(jù),DELETE用于刪除數(shù)據(jù))。
Description: 對(duì)API端點(diǎn)的作用和用途的簡(jiǎn)短描述。
在實(shí)際使用中,每個(gè)API端點(diǎn)可能還需要傳遞特定的參數(shù)或請(qǐng)求體(payload),具體取決于API的設(shè)計(jì)和要求,API調(diào)用可能需要身份驗(yàn)證和授權(quán)令牌,以上介紹僅提供了一個(gè)基本的框架,詳細(xì)的API文檔應(yīng)提供每個(gè)端點(diǎn)的詳細(xì)參數(shù)、請(qǐng)求和響應(yīng)示例以及錯(cuò)誤代碼等信息。