欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Postman 使用指南及小技巧

 更新時(shí)間:2021年12月06日 14:19:03   作者:Mazey  
Postman 簡化了構(gòu)建 API 的每個(gè)步驟,并簡化了協(xié)作,這樣就可以更快地創(chuàng)建 API。接下來通過本文給大家介紹Postman 使用指南及小技巧,感興趣的朋友跟隨小編一起看看吧

一、什么是 Postman(前世今生)

Postman 誕生于 2013 年,一開始只是 Abhinav Asthana 著手于解決 API 測試的工具,隨著這個(gè)工具的使用者和需求迅速激增,Abhinav Asthana 找了他的兩個(gè)前同事 Ankit SobtiAbhijit Kane 一起創(chuàng)建了公司 Postman Inc。

如今 Postman 已經(jīng)成為一個(gè) API 開發(fā)的協(xié)作平臺。Postman 簡化了構(gòu)建 API 的每個(gè)步驟,并簡化了協(xié)作,這樣就可以更快地創(chuàng)建 API。

二、使用變量

Postman 允許用戶在發(fā)送和接收時(shí)使用變量,以提高工作效率和可讀性(不過只能保存字符串類型的值,所以復(fù)雜數(shù)據(jù)類型需要借助于 JSON.stringify()JSON.parse() 來管理)。

例如在不同運(yùn)行環(huán)境中設(shè)置域名地址為變量:

Postman 支持在不同的作用域和上下文中使用變量,遵循就近原則,即如果在 GlobalEnvironment 中都有變量 name,則會取 Environment 中的 name。

2.1 變量作用域適用于 Postman 中不同的場景

Global:全局變量可以在整個(gè)工作空間(Workspace)中使用,因?yàn)闊o法控制使用環(huán)境和容易造成混淆,應(yīng)當(dāng)是不可變的全局常量,謹(jǐn)慎使用。

pm.globals.set("variable_key", "variable_value");
pm.globals.get("variable_key");

Collection:集合變量在單個(gè)集合(Collection)中可用,往往具備通用的業(yè)務(wù)綁定屬性,例如:商品屬性、會員等級、通用秘鑰等。

pm.collectionVariables.set("variable_key", "variable_value");
pm.collectionVariables.get("variable_key");

Environment:環(huán)境變量允許請求適應(yīng)不同的環(huán)境,例如:本地、測試、預(yù)演和生產(chǎn)環(huán)境,常常用來區(qū)別請求地址。

pm.environment.set("variable_key", "variable_value");
pm.environment.get("variable_key");

Data: 數(shù)據(jù)變量來自外部 CSV 和 JSON 文件,當(dāng)通過 Newman 或 Runner 來運(yùn)行時(shí)才用到。

Local:局部變量只在單個(gè)請求生命周期中可用,運(yùn)行完成后自動銷毀。

pm.variables.set("variable_key", "variable_value");
pm.variables.get("variable_key");

2.2 編輯全局和環(huán)境變量

2.3 編輯集合變量

2.4 使用系統(tǒng)內(nèi)置動態(tài)變量

Postman 內(nèi)置了很多常見場景的動態(tài)變量。

備注:Postman 支持在 Pre-request Script 和 Tests 中打印調(diào)試信息,和瀏覽器控制臺一致,可以使用命令:console.log()、console.info()、console.warn()console.error()。

console.log('當(dāng)前時(shí)間戳:', pm.variables.replaceIn('{{$timestamp}}'));
console.log('隨機(jī)顏色:', pm.variables.replaceIn('{{$randomColor}}'));
console.log('隨機(jī) IP:', pm.variables.replaceIn('{{$randomIP}}'));
console.log('隨機(jī)名字:', pm.variables.replaceIn('{{$randomFullName}}'));
console.log('隨機(jī)職業(yè):', pm.variables.replaceIn('{{$randomJobType}}'));
console.log('隨機(jī)城市:', pm.variables.replaceIn('{{$randomCity}}'));
console.log('隨機(jī)圖片:', pm.variables.replaceIn('{{$randomImageUrl}}'));

# 輸出
當(dāng)前時(shí)間戳:1609060090
隨機(jī)顏色:azure
隨機(jī) IP:163.140.207.64
隨機(jī)名字:Chester Funk
隨機(jī)職業(yè):Coordinator
隨機(jī)城市:Port Devinborough
隨機(jī)圖片:http://placeimg.com/640/480

三、Postman 請求生命周期

在 Postman 中,一個(gè)完整的 Postman 請求生命周期,除了常規(guī)的請求(request)和響應(yīng)(response),還包括前置請求腳本(pre-request script)和后置測試腳本(tests script)。Postman 包含一個(gè)基于 Node.js 的強(qiáng)大運(yùn)行態(tài)(runtime),允許用戶在 pre-request script 和 tests 事件中編寫 JavaScript 代碼。

3.1 在前置請求(pre-request script)中使用腳本

前置請求腳本(pre-request script)顧名思義就是在請求發(fā)送之前執(zhí)行的腳本。

3.2 發(fā)送請求(request)

小技巧一:在鏈接中使用 :id 自定義路徑參數(shù)

小技巧二:Cookie 可編輯

3.3 接收一個(gè)響應(yīng)(response)

小技巧:保存響應(yīng)結(jié)果

保存后的結(jié)果可以作為案例或記錄以便開發(fā)使用。

3.4 在測試(tests)中使用腳本

Postman 支持在請求響應(yīng)后通過測試腳本來驗(yàn)證請求是否符合預(yù)期。

示例一:驗(yàn)證響應(yīng)狀態(tài)碼是否是 200

pm.test("Status test", function () {
    pm.response.to.have.status(200);
});

示例二:驗(yàn)證返回的業(yè)務(wù)數(shù)據(jù)(JSON)是否符合預(yù)期

pm.test("請求成功!", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql('success');
});

四、使用 Postman 抓包

在 Postman 應(yīng)用程序中有一個(gè)內(nèi)置代理來捕獲 HTTP 請求。

  • Postman 應(yīng)用程序監(jiān)聽客戶端應(yīng)用程序或設(shè)備發(fā)出的任何調(diào)用。
  • Postman 代理捕獲請求并將請求轉(zhuǎn)發(fā)給服務(wù)器。
  • 服務(wù)器通過 Postman 代理將響應(yīng)返回給客戶端。

4.1 開啟抓包

本機(jī) IP 地址:

手機(jī)設(shè)置:

4.2 抓包效果

五、使用代理

代理服務(wù)器是一個(gè)應(yīng)用程序或系統(tǒng),作為計(jì)算機(jī)和互聯(lián)網(wǎng)之間的中介,或者更具體地說就是代表著客戶端和服務(wù)器,向網(wǎng)站、服務(wù)器和其他互聯(lián)網(wǎng)服務(wù)發(fā)出請求。

除了傳遞信息,代理可以做更多的事情:

記錄你的機(jī)器和互聯(lián)網(wǎng)之間的所有流量。顯示所有請求、響應(yīng)、Cookie 和標(biāo)題的內(nèi)容。路由流量到指定的因特網(wǎng)位置。調(diào)試接口。防止直接攻擊,保證安全性。DevOps 負(fù)載平衡。

默認(rèn)情況下,Postman 將使用自帶的系統(tǒng)代理,如果自定義了代理,優(yōu)先級將高于自帶的系統(tǒng)代理。

六、使用 Collection Runner

集合運(yùn)行器(Collection Runner)允許以指定順序運(yùn)行集合里面的請求。Collection Runner 將記錄請求測試結(jié)果,并且腳本可以在請求之間傳遞數(shù)據(jù)。

七、命令行腳手架 Newman

Postman 提供腳手架工具 Newman 來以命令行的方式來運(yùn)行集合(Collection)請求,其提供和 Postman 桌面端一致的功能,可以集成在工作流的 CI/CD 中。

# 安裝
npm install -g newman

# 運(yùn)行文件
newman run mycollection.json

# 運(yùn)行 URL
newman run https://www.postman.com/collections/cb208e7e64056f5294e5 -e dev_environment.json

八、付費(fèi)功能

另外 Postman 提供了很多團(tuán)隊(duì)協(xié)作需要的付費(fèi)功能,例如:文檔、監(jiān)控、健康檢查等。

版權(quán)聲明

本博客所有的原創(chuàng)文章,作者皆保留版權(quán)。轉(zhuǎn)載必須包含本聲明,保持本文完整,并以超鏈接形式注明作者后除和本文原始地址:https://blog.mazey.net/1878.html

GitHub:mazeyqian
Blog:blog.mazey.net

到此這篇關(guān)于Postman 使用指南及小技巧的文章就介紹到這了,更多相關(guān)Postman 使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • php和js編程中的延遲執(zhí)行效果的代碼

    php和js編程中的延遲執(zhí)行效果的代碼

    主要是看了php的延遲,js的延遲,當(dāng)然bat也有
    2008-08-08
  • 網(wǎng)絡(luò)抓包工具wireshark入門教程詳解

    網(wǎng)絡(luò)抓包工具wireshark入門教程詳解

    Wireshark是一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包分析軟件,功能非常強(qiáng)大,奈何他是英文版的,今天就為大家詳細(xì)介紹一下網(wǎng)絡(luò)抓包工具wireshark的使用教程
    2018-10-10
  • 搭建websocket消息推送服務(wù),必須要考慮的幾個(gè)問題

    搭建websocket消息推送服務(wù),必須要考慮的幾個(gè)問題

    面對各種新場景對websocket功能和性能越來越高的需求,不同的團(tuán)隊(duì)有不同的選擇,下面給大家分享構(gòu)建websocket服務(wù)時(shí)必須要考慮的一些技術(shù)特性以及能顯著提高用戶體驗(yàn)的功能,感興趣的朋友跟隨小編一起看看吧
    2020-04-04
  • .gitignore文件作用及使用方法詳解

    .gitignore文件作用及使用方法詳解

    這篇文章主要為大家介紹了.gitignore文件作用及使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 解決SecureCRT通過SSH連接Ubuntu時(shí)vi命令有多余的m的問題

    解決SecureCRT通過SSH連接Ubuntu時(shí)vi命令有多余的m的問題

    小編遇到這樣一個(gè)問題用vi命令來編輯文件的時(shí)候,在開頭和結(jié)尾有多余的字母出現(xiàn):在開頭會有多余的“m”出現(xiàn),結(jié)尾有多余的“2m”,這篇文章主要介紹了解決SecureCRT通過SSH連接Ubuntu時(shí)vi命令有多余的m的問題,需要的朋友可以參考下
    2022-09-09
  • IDEA怎么切換Git分支的實(shí)現(xiàn)方法

    IDEA怎么切換Git分支的實(shí)現(xiàn)方法

    這篇文章主要介紹了IDEA怎么切換Git分支的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • wireshark網(wǎng)絡(luò)抓包工具的使用教程

    wireshark網(wǎng)絡(luò)抓包工具的使用教程

    WireShark是非常流行的網(wǎng)絡(luò)抓包分析工具,可以截取各種網(wǎng)絡(luò)數(shù)據(jù)包,并顯示數(shù)據(jù)包詳細(xì)信息,下面就跟隨小編一起學(xué)習(xí)一下wireshark的具體使用吧
    2023-08-08
  • Sublime?Text?4怎么安裝使用

    Sublime?Text?4怎么安裝使用

    這篇文章主要介紹了Sublime?Text?4怎么安裝使用,下載對應(yīng)的安裝包,將該exe文件復(fù)制到對應(yīng)的sublime?text的安裝目錄下(與sublime_text.exe同級),右鍵管理員運(yùn)行即可,需要的朋友跟隨小編一起看看吧
    2022-01-01
  • git 配置多個(gè)SSH-Key實(shí)現(xiàn)示例

    git 配置多個(gè)SSH-Key實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了git 配置多個(gè)SSH-Key實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • vscode檢測到#include錯(cuò)誤請更新includePath的解決方法

    vscode檢測到#include錯(cuò)誤請更新includePath的解決方法

    這篇文章主要介紹了vscode檢測到#include錯(cuò)誤請更新includePath的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評論