Postman基礎操作

1.Postman是什么?

? ? ? ? Postman是接口測試的工具,簡單來說它能模擬瀏覽器對服務器的某個接口發起請求并接收響應數據。

1.1 Postman工作原理

?

2.Postman發送請求

2.1 發送GET請求

????????

我們知道GET請求是沒用請求體的,所以我們需要將請求參數寫在Parames中或寫在URL中,寫在URL上的參數會自動同步到Params中。

?

2.2 POST請求

? ? ? ? POST請求的參數存放在請求體中,但是請求又有很多類型,如Json,表單等,那么我們怎么區分并且攜帶正確的參數呢?

這時我們就需要配置Header部分,這是請求頭的內容,我們使用最多的就是Content-Type設置請求數據的類型;設置了格式之后,我們就要輸入對應的內容了,在Body中輸入請求攜帶的參數:

?

3.斷言

? ? ? ? 斷言的目的是驗證程序的執行結果是否和預測的一樣,當程序執行到斷言的位置時,對應的斷言應該為真。若斷言不為真時,程序會中止執行,并給出錯誤信息。

?

4.Postman關聯

4.1 什么時候需要關聯?

? ? ? ? 當接口與接口之間存在依賴關系時(如只有登錄后才能查看訂單信息),需要使用關聯

4.2?實現步驟

假定:接口B 產生的數據,被 接口A 依賴。

????????1. 發送 接口B 請求,獲取響應數據。

????????2. 將 響應數據,放入公共容器(全局變量、環境變量)中

????????3. 接口A 從 公共容器中,提取數據,發送請求。

核心代碼:

// 1. 獲取 響應數據,轉為 json格式,保存到變量 jsonData中。
var jsonData = pm.response.json()
// 2.1 使用 全局變量做容器。
pm.globals.set("全局變量名", 全局變量值)
// 2.2 使用 環境變量做容器。
pm.environment.set("環境變量名", 環境變量值)
// 3. 在 postman 界面中(URL、請求頭headers、請求體body) 提取 全局、環境變量 數據。
{{全局變量名}}/{{環境變量名}}

4.3 具體例子

4.3.1 使用全局變量實現

? ? ? ? 思路:1.獲取天氣接口的返回值

? ? ? ? ? ? ? ? ? ?2.將返回值中的城市名存入全局變量中

? ? ? ? ? ? ? ? ? ?3.百度搜索接口中訪問全局變量中的城市名

4.3.1.1??獲取城市名并存入global環境中

4.3.1.2? 在調用百度搜索接口中使用全局變量

?

4.3.2?使用環境變量實現

? ? ? ? 和使用全局變量用法基本相同,只是pm調用的屬性不同。

?

5.參數化

5.1 參數化簡介

? ? ? ? 將測試數據組織到數據文件中,通過腳本反復迭代執行,使用不同的數據,達到測試不同用例的目標。和unittest的 parameterized 類似

?

5.2 應用場景

? ? ? ? 測試同一個接口但是測試點不同時考慮使用參數化,如:登錄接口,注冊接口。

?

5.3 數據格式

5.3.1 CSV

優點:數據組織格式簡單

缺點:

1. 不能測試 bool 類型。因為 postman 讀取 csv后,將所有非數值類型數據,自動添加 ”“ 變為字符串

2. 不能存儲復雜數據類型(元組、列表、字典)。

3. 不能實現 參數測試。

應用場景:數據量較大,數據組織格式簡單

?CSV文件格式:

?

5.3.2 JSON

JSON:

優點:
1. 可以測試 bool類型2. 能使用 復雜數據類型3. 可以實現 參數測試。
缺點:相同數據量,json文件要遠大于 csv 文件。

?

應用場景:數據量較少,數據組織格式復雜。需要進行 參數測試!

?

?5.4 導入文件到Postman

可以點擊preview查看文件格式是否正確,正確的格式如下圖:

5.5 讀取文件中的數據

根據 使用位置 不同,有兩種方法。

第一種:請求參數(請求行、請求頭、請求體)中:

????????csv文件:{{字段名}}; json文件:{{鍵名}}

第二種:代碼(Tests)中:

????????使用 postman 內置的 關鍵字 iterationData.get(key)

????????csv文件:pm.iterationData.get(字段名); json文件:pm.iterationData.get(鍵名)

全部設置完成后,依次點擊Run->select file ->Run就可以開始執行文件中的用例,運行結果:

?

6.導入與導出

6.1 導入與導出collection

導出:?

導入:

?

6.2 導出環境變量

?導入同上。

?

7.newman生成測試報告

? ? ? ? Postman本身不能生成html的測試報告,我們需要通過newman和htmlextra來生成

npm install -g newman //這是安裝newman的命令npm install -g newman-reporter-htmlextra  //這是安裝htmlextra的命令

生成報告命令:? ? ? ??

newman run 測試集文件.json [-e 環境文件 -d 數據文件] -r htmlextra --reporter-htmlextra-export 文件地址\文件名

其中,測試集文件是postman導出的collection,環境文件是Environments,數據文件是用在自動化測試中的JSON或CSV文件

?

? ? ? ? 注:使用這條命令時如果不想用絕對路徑那就將需要的文件都放在同一個目錄下并且在這個目錄中打開cmd

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84581.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84581.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84581.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Elasticsearch Synthetic _source

_source 字段包含索引時傳入的原始 JSON 文檔體。_source 字段本身不被索引(因此不可搜索),但會被存儲,以便在執行獲取請求(如 get 或 search)時返回。 如果磁盤使用很重要,可以考慮以下選項&a…

Vue3 + Element Plus 實現用戶管理模塊

本文介紹一個使用 Vue3 Element Plus 實現的用戶與小組管理模塊,支持用戶的增刪改查(CRUD)和分頁管理,以及小組的新增和刪除功能,適用于管理后臺系統中的用戶權限管理場景。 一、項目簡介 該模塊具備以下功能&#…

Python應用“面向對象”小練習

大家好!面向對象編程是一種以 “對象” 為核心的編程思想。對象可以看作是具有特定屬性和行為的實體。例如,一個學生可以是一個對象,他的屬性包括姓名和年齡,行為可以是打招呼。? 代碼呈現: # 定義類和對象 class Student:def __init__(sel…

線性回歸原理推導與應用(八):邏輯回歸二分類乳腺癌數據分類

乳腺癌數據是sklearn中自帶的數據集,需要通過相關特征對是否患有乳腺癌進行分類。 數據清洗與建模 首先加載相關庫和相關數據 from sklearn.datasets import load_breast_cancer from sklearn.linear_model import LogisticRegression import numpy as np import…

nginx的一些配置的意思

1.用這個端口可以訪問到nginx 2.工作進程,設置成和cpu核心數一樣即可 3.每個工作進程的最大網絡連接數。 4.主機名稱 設置反向代理時,把server_name設置成ip。 5.反向代理進行轉發,localhost指的是nginx所在的機器。 關鍵字proxy_pass。 …

SID103S/D/Q-300nA, 軌至軌, CMOS 運算放大器替代SGM8141

概述 SID103系列產品是專注于超低功耗、軌至軌、CMOS運算放大器,最低工作電壓可以支持到1.4V,并且工作時每個通道僅消耗300nA的電流。特別適合穿戴式、獨立式等對功耗敏感的電池供電場景。 SID103系列產品擁有5kHz的增益帶寬積,外接500pF電…

十六進制字符轉十進制算法

十六進制與十進制對照 十六進制十進制00112233445566778899A10B11C12D13E14F15 十六進制與十進制區別 十六進制是滿16進1,十進制是滿10進1,這里要注意下區別,16進制的字符里面為什么是0-9沒有10,這里面進了一位,表示…

微軟技術賦能:解鎖開發、交互與數據潛力,共探未來創新路

在微軟 Build 2025 大會以及創想未來峰會上,微軟展示的一系列前沿技術與創新應用,不僅展現了其在科技領域的深厚底蘊與前瞻視野,更為開發者和企業帶來了前所未有的機遇與變革動力。 領馭科技作為微軟中國南區核心合作伙伴及 HKCSP 1T 首批授…

并發基礎|進程與線程

進程基礎 什么是進程? 為了實現并發的功能,引入了進程的概念。 ? 為了實現并發,需要引入多程序的環境,但是多程序的環境會造成一些單程序時不存在的問題,比如程序的之間沒有了封閉性,程序不可以連續的執…

鴻蒙倉頡開發語言實戰教程:自定義tabbar

大家周末好呀,今天繼續分享倉頡語言開發商城應用的實戰教程,今天要做的是tabbar。 大家都知道ArkTs有Tabs和TabContent容器,能夠實現上圖的樣式,滿足基本的使用需求。而倉頡就不同了,它雖然也有這兩個組件,…

LINUX526 回顧 配置ssh rsync定時備份(未完成)

配置SSH回顧: 1.關閉防火墻、selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 vim /etc/selinux/config SELINUXdisable 2. 510 2.配置YUM源 我計劃配本地yum源 2.1 yum源備份 cd /etc/yum.repos.d tar -zcf repo.tar.gz *.repo …

hdc - Mac本環境配置

1. 安裝依賴工具 Homebrew 若未安裝 Homebrew,打開終端執行: OpenJDK 11 HDC 依賴 Java 環境,安裝 OpenJDK 11: 配置環境變量: 2. 安裝 DevEco Studio 下載:從華為開發者聯盟下載最新版 DevEco Studio。 …

項目三 - 任務8:實現詞頻統計功能

本項目旨在實現一個詞頻統計功能,通過讀取文本文件并利用Java編程技巧處理和分析文本數據。首先,使用BufferedReader逐行讀取文件內容,然后通過String.split(" ")方法將每行文本分割成單詞數組。接下來,采用HashMap來存…

Python - 文件部分

- 第 101 篇 - Date: 2025 - 05 - 26 Author: 鄭龍浩/仟墨 Python - 文件部分 學習時間: 2025-05-19 文章目錄 Python - 文件部分一 文件與路徑1 文本文件2 二進制文件3 編碼格式① 常見編碼格式② 指定編碼格式③ 最佳格式④ 處理編碼錯誤 4 絕對路徑5 相對路徑基本寫法返回…

R語言開始繪圖--柱狀圖

R語言是一種專門用于統計計算和圖形顯示的編程語言,廣泛應用于數據分析、統計建模、數據可視化等領域。它由Ross Ihaka和Robert Gentleman于1993年在新西蘭奧克蘭大學開發,現已成為數據科學和統計學領域的重要工具。 R語言的特點 R語言具有豐富的統計和…

PYTORCH_CUDA_ALLOC_CONF基本原理和具體示例

PYTORCH_CUDA_ALLOC_CONFmax_split_size_mb 是 PyTorch 提供的一項環境變量配置,用于控制 CUDA 顯存分配的行為。通過指定此參數,可以有效管理 GPU 顯存的碎片化,緩解因顯存碎片化而導致的 “CUDA out of memory”(顯存溢出&#…

Halcon仿射變換---個人筆記

文章目錄 1.概述2.仿射變換類型3.仿射變換流程4.根據特征點、角度計算仿射變換矩陣4.1 從空變換矩陣創建仿射變換矩陣4.2 把旋轉角度添加到仿射變換矩陣4.3 把縮放添加到仿射變換矩陣4.4 把平移添加到防射變換矩陣4.5 把斜切添加到仿射變換矩陣4.6 根據點和角度計算剛性仿射變換…

《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位運維指南》

《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位運維指南》 一、引言 在當今數字化的時代背景下,Linux操作系統憑借其卓越的性能、可靠性和開源的優勢,在服務器、云計算、嵌入式系統等眾多領域占據著舉足輕重的地位。對于IT運維…

【Webtrees 用戶手冊】第 2 章 - 訪客須知

Webtrees 用戶手冊/訪客指南 信 第 2 章 - 訪客須知 <- 章節概述 目錄 1頁面結構2標題菜單 2.1主題 2.1.1云2.1.2顏色2.1.3絕佳2.1.4最小2.1.5網絡樹2.1.6西妮婭 2.2語言2.3登記2.4搜索字段 3主菜單 3.1家譜3.2圖表3.3列表3.4日歷3.5報告3.6尋找3.7故事3.8常見問題 (FAQ) 4…

動態規劃-918.環形子數組的最大和-力扣(LeetCode)

一、題目解析 聽著有點復雜&#xff0c;這里一圖流。 將環形問題轉化為線性問題。 二、算法原理 1.狀態表示 2.狀態轉移方程 詳細可以移步另一篇博客&#xff0c;53. 最大子數組和 - 力扣&#xff08;LeetCode&#xff09; 3.初始化 由于計算中需要用到f[i-1]和g[i-1]的值&…