1. 程式人生 > >最強PostMan使用教程(2)

最強PostMan使用教程(2)

我們已經知道如何用Postman組裝併發送訊息,那我們如何根據需求用Postman來做測試呢?在這開始之前,我們先來看看Postman的左邊面板:

這裡寫圖片描述

這裡包含了History和Collection,我們可以在History裡面看到我們曾經發送過的HTTP Request, 我們可以很方便的通過點選上面的項重新構建我們的request。而右邊的Request Builder面板上,還有兩個按鈕,Pre-request Script和Tests。

  • Pre-request Script
    定義我們在傳送request之前需要執行的一些指令碼,應用場景主要是設定全域性變數和環境變數
  • Tests
    定義傳送Request之後,需要用指令碼檢測的內容,也就是Test case的內容。

這裡的的Tests是我們關鍵。

Test

開啟Tests,我們可以看到視窗分成兩部分,一部分是左邊的程式碼視窗和右邊的Snippet視窗,點選對應的snippet,postman會在左邊的視窗為我們生成對應的程式碼,在下面的圖中,我選擇了“Response body: is equal to a String”和“Response time is less than 200ms”,可以看到Postman在程式碼視窗為我載入對應的語句,這裡我把希望的responseBody改成了“No valid parameters!!”.
這樣我就完成一條簡單的測試用例:

  • 當HTTP Get request沒有帶任何引數的時候,希望response的body返回字串“No valid parameters!!”
  • responseTime小於200ms

這裡寫圖片描述

Variables and Environment

另外,這裡大家可以看到在URL輸入框中,我使用了{{myLocalHost}},那我們如何定義變數呢,首先,我們得建立一個Environment,點選Environment那個button(在這裡是“SampleEnv”那個button,因為我將其選擇我當前使用的Environment)

這裡寫圖片描述

在Postman裡面:

  • Environements包含global Environment,即全域性的Environment,裡面定義的變數在任何地方地方都可以看到
  • local Environment, 裡面定義的變數只有在當前Environment裡面才可以看到,這裡,我定義了一個“SampleEnv”
  • Environment可以被share,通過你的postman賬號或者google賬號
  • Environment可以通過檔案import

點選之後,選擇Manage Environments。若要新建,選擇Add。若要編輯global Environment, 選擇Globals

這裡寫圖片描述

我們來看看我已經建立好的SampleEnv,這裡只建立了一個變數myLocalHost,也就是我們之前看到的在URL裡的那個變數,這個變數在URL裡可以用,在test script裡面可以用,任何其他地方你都可以通過{{}}符號獲得它的值。

這裡寫圖片描述

這裡稍微舉例一下變數的好處,比如你把APP部署在自己的機器上時使用的域名是localhost,而部署在伺服器上時,域名就是具體的伺服器ip。為了在兩種不同環境上測試你的API,你在構建request的時候就需要輸入不同的url,但如果你使用了變數,你就可以使用變數來複用你的url,你只需在不同的environment裡面給url賦不同的值,那你的request就完全不需要變。同理,在tests裡面也是一樣的。這裡就不贅述

Collection

定義好了test case (寫好的Request和定義好結果檢查tests),我們就需要執行,你可以簡單點選send按鈕檢視結果,但這時候你不會明顯的看到測試的結果,你需要把這條request加入到collection當中。我們先建立一個collection:

這裡寫圖片描述

在彈出的視窗中建立你的collection,命名為你test suite的名字:

這裡寫圖片描述

建立collection之後,把已經寫好的request(test case)儲存到collection(test suite)當中。

  • 點選save,把Request Name改成你的test case的名字,比如“test_NoParameter_Expect_WarningInfo”;
  • save to exist collection,選擇之前建立好的collection, “TestParameters”;

這裡寫圖片描述

點選視窗中的save之後我們就可以在左介面上看到我們的這個collection和collection中的request了:

這裡寫圖片描述

點選 ‘>’按鈕(點選了之後會變成 ‘<’),我們就會看到彈出的視窗中有一個‘Run’,執行一下,就會彈出一個collection runner的視窗。點選一下start test,你就可以看到執行的結果,這裡我選擇了執行100次,在左邊視窗你還可以看到之前的執行記錄:

這裡寫圖片描述

加入我把App的介面改為:

    @Override
    protected void doGet( HttpServletRequest request, HttpServletResponse response )
        throws ServletException,
            IOException
    {
        if( request.getParameter( "name" ) != null )
        {
            response.getWriter().print( "lex" );
        }
        else
        {
            response.getWriter().print( "No valid parameters???" );
        }
    }

這會導致response body的比較不匹配 No valid parameters??? != No valid parameters!!

這裡寫圖片描述

那你就會看到 Body is correct case是FAIL的.

怎麼樣?學會了嗎?

相關推薦

PostMan使用教程2

我們已經知道如何用Postman組裝併發送訊息,那我們如何根據需求用Postman來做測試呢?在這開始之前,我們先來看看Postman的左邊面板: 這裡包含了History和Collection,我們可以在History裡面看到我們曾經發送過的HTTP R

linux學習入門標準教程2

linux標準教程Linux系統篇2.1 Linux系統管理經過前兩章的學習,咱們現已可以獨立裝置Linux體系,現已把握了Linux學習的竅門,那接下來,咱們將體系的來了解Linux體系各目錄、權限及常用命令的運用。2.1. 1 Linux目錄初識通過前面的學習,我們已經能夠獨立安裝完一個linux

全Pycharm教程10——Pycharm調試器總篇

通過 pro pri order 相關配置 points 信息 發現 blank   最全Pycharm教程(1)——定制外觀   最全Pycharm教程(2)——代碼風格   最全Pycharm教程(3)——代碼的調試、執行   最全Pycharm教程(4)—

百度地圖3.2教程2公交查詢

track error alt 3.1 內容 說了 ase 放大 gets 上一篇地址 百度地圖3.1教程—檢索功能演示 還記得兩天前 我在找公交接口,非常不幸。接口有些查不到,幾年的前的數據,哎 。算了唄,突然想起來了百度地圖有這個功能,結果去看了API,尼瑪這

一步一步跟我學習hadoop(5)----hadoop Map/Reduce教程2

submit calc run submitjob des conf sam ner 打開 Map/Reduce用戶界面 本節為用戶採用框架要面對的各個環節提供了具體的描寫敘述,旨在與幫助用戶對實現、配置和調優進行具體的設置。然而,開發時候還是要相應著API進行

全Pycharm教程24——Pycharm編輯器功能之宏定義

ans 指針 ext election ger rda 宏定義 中源 全選   1、為什麽使用宏   增加你須要反復某種操作非常多次。比如選中源代碼並將其發送到控制臺端調試,我們能不能將著一系列操作簡化為一步,甚至用一組快捷鍵來取代呢?   2、準備工作   (

全Pycharm教程11——Pycharm調試器之斷點篇

pes eas 觀察 project 項目 python pre 啟動 image   最全Pycharm教程(1)——定制外觀   最全Pycharm教程(2)——代碼風格   最全Pycharm教程(3)——代碼的調試、執行

Nhibernate學習教程2-- 第一個NHibernate程序

collect 單元測試框架 文件映射 deb color rtu etc erb session管理 NHibernate之旅(2):第一個NHibernate程序 本節內容 開始使用NHibernate 1.獲取NHibernate 2.建立數據庫表 3.創建C#類庫

全Pycharm教程26——Pycharm搜索導航之文件名、符號名搜索

技術分享 tail link isp 嘗試 多重 image pop 教程 1、準備一個工程   向你的工程中添加一個Python文件,並輸入一些源碼,例如:   2、轉到對應文件、類、符號   Pycharm提供的一個很強力的功能就是能夠根據名稱跳轉到任何文件、類、符

痞子衡嵌入式:極精簡的Git命令教程2- 連接(remote/clone)

我們 pair ssh key 技術 彈出 change 能夠 sha2 permanent   今天是Git系列課程第二課,上一課我們已經學會在本地創建一個空repo,痞子衡今天要講的是如何將本地倉庫與遠程建立聯系。 1.將本地倉庫掛上遠程git remote   本地

pyspider 爬蟲教程2:AJAX 和 HTTP

AJAX AJAX 是 Asynchronous JavaScript and XML(非同步的 JavaScript 和 XML)的縮寫。AJAX 通過使用原有的 web 標準組件,實現了在不重新載入整個頁面的情況下,與伺服器進行資料互動。例如在新浪微博中,你可以展開一條

jMetal使用教程2

上一節介紹了jMetal的大致框架結構,本節貼一個完整的例子。 優化問題 假定我們需要對這樣的問題進行優化: 也就是多目標優化測試集ZDT1函式。 這個優化問題有30個決策變數,2個優化目標函式(最小化)。決策變數的定義域相同,都是[0,1]的實數。目標函式也

ArcGIS Engine10.0輕鬆入門級教程2——建立一個ArcGIS Engine桌面應用程式 ArcGIS Engine10.0輕鬆入門級教程3——ArcEngine10.0查詢分析功能 ArcGIS Engine— 學習圖層符號化

ArcGIS Engine10.0輕鬆入門級教程(1)——必備基礎知識 ArcGIS Engine10.0輕鬆入門級教程(2)——建立一個ArcGIS Engine桌面應用程式 ArcGIS Engine10.0輕鬆入門級教程(3)——ArcEngine

51微控制器入門教程2——實現流水燈

一、搭建流水燈電路 在Proteus中搭建流水燈電路如圖 二、流水燈程式 我們可以把流水燈看作依次點亮若干個燈。 程式如下: #include <reg52.h> sbit led1 = P2^0; sbit led2 = P2^1; sbit

Nginx 教程2:效能

大家好,分享即關愛,我們很樂意和你分享一些新的知識,我們準備了一個 Nginx 的教程,分為三個系列,如果你對 Nginx 有所耳聞,或者想增進 Nginx 方面的經驗和理解,那麼恭喜你來對地方了。 我們會告訴你 Nginx 如何工作及其背後的理念,還有如何優化以

全Pycharm教程41——Pycharm擴充套件功能之便籤註釋

  1、主題   在開發專案的過程中經常需要建立任務列表,對於一些小任務,在程式碼中插入便籤註釋會有奇效。   這種註釋的格式如下:   2、建立便籤註釋   非常簡單:   首先,將游標定位到相應行。   然後,建立一行註釋(Ctrl+Slash)。

全Pycharm教程29——再探IDE,速成手冊

  1、準備工作   (1)確認安裝了Python直譯器,版本2.4到3.4均可。   2、初始化安裝   第一次安裝Pycharm時,安裝程式會諮詢你幾個重要問題:   (1)是否已經預先儲存了設定資訊(例如早期版本的配置資訊)   (2)許可證資訊   

全Pycharm教程26——Pycharm搜尋導航之檔名、符號名搜尋

  1、準備一個工程   向你的工程中新增一個Python檔案,並輸入一些原始碼,例如:   2、轉到對應檔案、類、符號   Pycharm提供的一個很強力的功能就是能夠根據名稱跳轉到任何檔案、類、符號所在定義位置。   3、跳轉到檔案   按下Ctrl+S

Spring Security教程2----SpringSecurity簡單測試

前面講到了SpringSecurity的簡單配置,今天做一個簡單的測試,先看配置檔案 <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org

Docker教程2Linux上安裝Docker(非常簡單的安裝方法)

前提條件 目前,CentOS 僅發行版本中的核心支援 Docker。 Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。 使用 yum 安裝 Docker 要求 CentOS 系統的核心版本高於 3.10