柚子快報(bào)邀請碼778899分享:Postman 高級用法學(xué)習(xí)
柚子快報(bào)邀請碼778899分享:Postman 高級用法學(xué)習(xí)
Postman 高級用法
Postman 是一款強(qiáng)大的 API 調(diào)試和開發(fā)工具,廣泛應(yīng)用于 API 開發(fā)、測試、調(diào)試和自動化流程中。除了基本的 API 請求發(fā)送和響應(yīng)查看功能,Postman 還提供了許多高級功能。以下是詳細(xì)的講解,包括具體示例和操作步驟。
一、環(huán)境管理與變量使用
在 API 開發(fā)和測試過程中,切換不同的環(huán)境(如開發(fā)、測試、生產(chǎn)環(huán)境)和使用變量可以大大簡化操作。Postman 的環(huán)境管理和變量功能非常有用。
1.1 環(huán)境管理
操作步驟:
創(chuàng)建環(huán)境:
點(diǎn)擊 Postman 界面右上角的環(huán)境選擇器(通常顯示為“No Environment”)。點(diǎn)擊“Manage Environments”進(jìn)入環(huán)境管理頁面。點(diǎn)擊“Add”按鈕創(chuàng)建一個(gè)新環(huán)境。給環(huán)境命名,比如“開發(fā)環(huán)境”,并添加所需的環(huán)境變量。 定義環(huán)境變量:
在環(huán)境設(shè)置中,為每個(gè)環(huán)境變量設(shè)置鍵值對。例如,設(shè)置 base_url 為 https://dev.example.com/api。 切換環(huán)境:
在環(huán)境選擇器中選擇所需的環(huán)境,所有使用 {{variable_name}} 語法的變量都會自動替換為當(dāng)前環(huán)境的值。
示例:
假設(shè)你有一個(gè) API 基礎(chǔ) URL 在不同環(huán)境下不同:
開發(fā)環(huán)境:https://dev.example.com/api測試環(huán)境:https://test.example.com/api
你可以在請求中使用變量:
GET {{base_url}}/users
切換環(huán)境時(shí),{{base_url}} 會替換為相應(yīng)的 URL。
1.2 變量使用
Postman 支持多種類型的變量,包括環(huán)境變量、全局變量和局部變量。
環(huán)境變量:適用于當(dāng)前選定的環(huán)境。全局變量:適用于所有環(huán)境和請求。局部變量:只在當(dāng)前請求或腳本中有效。
操作步驟:
定義全局變量:
點(diǎn)擊右上角的“Environment Quick Look”(眼睛圖標(biāo))。點(diǎn)擊“Add”按鈕添加全局變量。 使用變量:
在請求的 URL、Headers 或 Body 中使用 {{variable_name}} 來引用變量。
示例:
GET {{base_url}}/users/{{user_id}}
在請求的“Pre-request Script”中,可以動態(tài)設(shè)置 user_id 變量:
pm.environment.set("user_id", 12345);
二、請求鏈與集合測試
Postman 支持將多個(gè)請求組織成集合(Collection),并允許在請求之間傳遞數(shù)據(jù),實(shí)現(xiàn)復(fù)雜的 API 測試場景。
2.1 請求鏈
請求鏈可以讓你在一個(gè)請求完成后,將其響應(yīng)數(shù)據(jù)傳遞給下一個(gè)請求。
操作步驟:
保存響應(yīng)數(shù)據(jù):
在請求的“Tests”選項(xiàng)卡中使用 pm.environment.set 或 pm.globals.set 來保存響應(yīng)數(shù)據(jù)。 // 保存響應(yīng)中的 user_id 到環(huán)境變量
pm.environment.set("user_id", pm.response.json().id);
在后續(xù)請求中使用保存的變量:
在下一個(gè)請求中,通過 {{user_id}} 使用之前保存的變量。 GET {{base_url}}/users/{{user_id}}/details
2.2 集合測試
Postman 集合(Collection)是一個(gè)包含多個(gè)請求的集合,可以批量運(yùn)行這些請求,適用于自動化測試和回歸測試。
操作步驟:
創(chuàng)建集合:
在左側(cè)的“Collections”面板中,點(diǎn)擊“New Collection”創(chuàng)建一個(gè)新集合。 添加請求到集合:
將請求拖拽到集合中,或者在創(chuàng)建請求時(shí)直接添加到集合。 運(yùn)行集合:
點(diǎn)擊集合的“Run”按鈕,進(jìn)入“Collection Runner”界面。選擇要運(yùn)行的請求和環(huán)境,點(diǎn)擊“Run Collection”啟動測試。
示例:
假設(shè)你有一個(gè)用戶注冊和登錄的 API,需要依次測試用戶注冊、獲取用戶詳情和用戶登錄。
1. POST {{base_url}}/register
Body: { "username": "testuser", "password": "testpass" }
2. GET {{base_url}}/users/{{user_id}}
使用注冊成功后返回的 user_id
3. POST {{base_url}}/login
Body: { "username": "testuser", "password": "testpass" }
可以通過集合和變量傳遞來實(shí)現(xiàn)這個(gè)測試流程。
三、使用腳本增強(qiáng)測試能力
Postman 提供了強(qiáng)大的腳本功能,可以在請求發(fā)送前(Pre-request Script)和收到響應(yīng)后(Tests)執(zhí)行 JavaScript 腳本,用于數(shù)據(jù)預(yù)處理和響應(yīng)驗(yàn)證。
3.1 Pre-request Script
Pre-request Script 是在請求發(fā)送前執(zhí)行的腳本,常用于設(shè)置變量、修改請求參數(shù)或動態(tài)生成數(shù)據(jù)。
操作步驟:
編寫 Pre-request Script:
在請求的“Pre-request Script”選項(xiàng)卡中編寫 JavaScript 腳本。
示例:
自動生成一個(gè)隨機(jī)的 API 密鑰:
const apiKey = Math.random().toString(36).substring(2, 15);
pm.environment.set("api_key", apiKey);
3.2 Tests
Tests 是在請求響應(yīng)后執(zhí)行的腳本,常用于驗(yàn)證響應(yīng)狀態(tài)碼、響應(yīng)體內(nèi)容和 Headers。
操作步驟:
編寫測試腳本:
在請求的“Tests”選項(xiàng)卡中編寫 JavaScript 腳本。
示例:
檢查響應(yīng)狀態(tài)碼是否為 200,響應(yīng)體是否包含 success 字段:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response contains success", function () {
pm.expect(pm.response.json()).to.have.property("success");
});
四、Postman 自動化與 CI/CD 集成
Postman 不僅適用于手動測試,還可以與持續(xù)集成/持續(xù)交付(CI/CD)系統(tǒng)集成,實(shí)現(xiàn)自動化測試和部署。
4.1 通過 Newman 執(zhí)行集合測試
Newman 是 Postman 的命令行運(yùn)行器,允許在命令行中運(yùn)行 Postman 集合測試,非常適合集成到 CI/CD 管道中。
安裝 Newman:
npm install -g newman
運(yùn)行集合:
導(dǎo)出集合和環(huán)境文件:
在 Postman 中,將集合和環(huán)境導(dǎo)出為 JSON 文件。 使用 Newman 運(yùn)行集合:
newman run path/to/collection.json -e path/to/environment.json
示例:
運(yùn)行一個(gè)名為 my-collection.json 的集合,并使用 my-environment.json 作為環(huán)境配置:
newman run my-collection.json -e my-environment.json
4.2 在 CI/CD 系統(tǒng)中集成
Postman 可以與 Jenkins、GitLab CI、Travis CI 等 CI/CD 工具集成,實(shí)現(xiàn)自動化測試。
操作步驟:
配置集合和環(huán)境:
在 Postman 中創(chuàng)建并導(dǎo)出集合和環(huán)境文件。 編寫 CI/CD 腳本:
在 CI/CD 系統(tǒng)中,編寫腳本調(diào)用 Newman 運(yùn)行集合測試。
示例:
在 Jenkins 中的 Jenkinsfile 中運(yùn)行 Postman 測試:
pipeline {
agent any
stages {
stage('Test') {
steps {
sh 'newman run path/to/collection.json -e path/to/environment.json'
}
}
}
}
五、利用 Postman 插件擴(kuò)展功能
Postman 支持多種插件和擴(kuò)展,可以通過 Postman 的插件市場(Postman Plugin Marketplace)來安裝和使用。
5.1 Postman 插件
操作步驟:
訪問插件市場:
打開 Postman,點(diǎn)擊左側(cè)邊欄的插件圖標(biāo)(積木狀圖標(biāo))。 安裝插件:
在插件市場中瀏覽和搜索插件,點(diǎn)擊“Install”按鈕安裝所需的插件。
常用插件:
Postman Interceptor:
用于捕獲和同步瀏覽器請求到 Postman,方便調(diào)試 Web 應(yīng)用的 API 請求。 操作步驟:
安裝 Postman Interceptor 插件,并在 Chrome 瀏覽器中安裝相應(yīng)的 Postman Interceptor 擴(kuò)展。在 Postman 中啟用 Interceptor,并連接到瀏覽器擴(kuò)展。開啟“捕獲請求”功能,在瀏覽器中進(jìn)行操作,Postman 會自動捕獲這些請求。 Postman Code Generator:
將 Postman 請求生成多種編程語言的代碼片段,
方便在應(yīng)用中使用。
操作步驟:
打開一個(gè)請求,點(diǎn)擊右上角的“Code”按鈕。 在彈出的窗口中選擇需要生成代碼的語言和框架,Postman 會生成相應(yīng)的代碼片段。 Postman Visualizer:
將響應(yīng)數(shù)據(jù)可視化為圖表或表格,方便分析和展示數(shù)據(jù)。 操作步驟:
在請求的“Tests”選項(xiàng)卡中編寫 JavaScript 腳本,使用 pm.visualizer.set 方法定義可視化模板和數(shù)據(jù)。 示例: const template = `
ID | Name |
---|---|
{{this.id}} | {{this.name}} |
`;
pm.visualizer.set(template, { response: pm.response.json() });
六、Postman 的使用技巧
Postman 的高效使用可以顯著提升 API 開發(fā)和測試的效率。以下是一些常用的使用技巧。
6.1 快捷鍵
Postman 支持許多快捷鍵,可以加快操作速度。
常用快捷鍵:
Ctrl + T:新建 Tab。Ctrl + S:保存請求。Ctrl + Enter:發(fā)送請求。Ctrl + F:搜索請求。
6.2 Mock Server
Postman 的 Mock Server 功能可以模擬 API 響應(yīng),適用于前后端分離開發(fā)和測試。
操作步驟:
創(chuàng)建 Mock Server:
在 Postman 中點(diǎn)擊左側(cè)的“Mock Servers”面板,點(diǎn)擊“Create a Mock Server”按鈕。選擇要模擬的集合和響應(yīng),配置 Mock Server 的 URL 和環(huán)境。 使用 Mock Server:
在請求中使用 Mock Server 的 URL 進(jìn)行調(diào)用,模擬真實(shí)的 API 響應(yīng)。
6.3 監(jiān)視器
Postman 的監(jiān)視器可以定期運(yùn)行集合,監(jiān)控 API 的性能和可用性。
操作步驟:
創(chuàng)建監(jiān)視器:
在 Postman 中點(diǎn)擊左側(cè)的“Monitors”面板,點(diǎn)擊“Create a Monitor”按鈕。選擇要監(jiān)視的集合和環(huán)境,設(shè)置監(jiān)視器的運(yùn)行頻率和通知方式。 查看監(jiān)視器結(jié)果:
監(jiān)視器會定期運(yùn)行集合,并生成報(bào)告,可以在 Postman 中查看運(yùn)行結(jié)果和性能指標(biāo)。
七、總結(jié)
Postman 是一個(gè)功能強(qiáng)大的 API 開發(fā)和測試工具,提供了豐富的高級功能,如環(huán)境管理、變量使用、請求鏈、集合測試、腳本、自動化集成和插件擴(kuò)展等。這些功能可以大大提升 API 開發(fā)和測試的效率。通過掌握這些高級用法,開發(fā)者可以更高效地進(jìn)行 API 調(diào)試、測試和自動化流程的實(shí)現(xiàn)。
柚子快報(bào)邀請碼778899分享:Postman 高級用法學(xué)習(xí)
推薦文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。