歡迎光臨
每天分享高質量文章

SpringBoot | 第十五章:基於 Postman 的 RESTful 介面測試

(點選上方公眾號,可快速關註)


來源:oKong ,

blog.lqdev.cn/2018/07/28/springboot/chapter-fifteen/

前言

從上一章節開始,接下來的幾個章節會講解一些開發過程中配套工具的使用。俗話說的好,工欲善其事,必先利其器。對於開發人員而言,有個好用的工具,也是一件事半功倍的事,而且開發起來也很爽,效率也會提升很多。本章節主要講解關於Postman這款http模擬請求工具,一般上拿來測試api介面服務的。

題外話:對於Postman而言,本人也是僅僅使用了其中一小部分,還是本著夠用的原則,對於其一些高階功能,比如自動化測試、auth認證、js指令碼及生成各類語言程式碼(如cUrl、java、ajax等等),後期若有使用時,會再編寫一篇博文的。突然很感慨,要學習的東西真多呀,所以還是那句話:本著夠用就行!東西是學不完的!

關於Postman

Postman是一款功能強大的網頁除錯與傳送網頁HTTP請求的工具。Postman能夠傳送任何型別的HTTP請求(GET, HEAD, POST,PUT..),附帶任何數量的引數和HTTP essay-headers。支援不同的認證機制(basic, digest,OAuth),接收到的響應語法高亮(HTML,JSON或XML)。Postman既可以以Chrome瀏覽器外掛的形式存在,也可以是獨立的應用程式存在。本文主要講解的是客戶端的使用。

安裝Postman

官方網站:https://www.getpostman.com/apps

按實際的操作環境,選擇對應的版本下載:

本文直接選擇當前最新版:v6.2.2。

下載後,按提示進行預設安裝即可,這裡就不貼圖了。

介面按鈕說明

作圖不易呀,開啟了從高中開始用的Fireworks。一個程式猿還需要會作圖,(┬_┬)。不美觀,順序混亂,就湊合看吧。還想怎麼樣!

1.History:記錄歷史請求記錄,一般上所有的請求,都會會在此面板上出現,按日期區分,點選可快捷新增一個該請求的tab欄。

2.Collections:收藏夾。你可以按請求的型別或者專案,進行目錄的建立,便於管理。可以建立子目錄,同時也可批次進行請求,大家可點開看看,應該都知道意思

3.便簽頁:可切換不同的便簽頁進行顯示。

4.請求方式:如GET、POST、DELETE等。

5.請求地址:需要測試或者訪問的api地址,支援變數,變數寫法:,

6.URL引數值(querystring):設定url後面的引數值,如author=okong&name;=okong

7.點選可傳送請求,同時支援下載。

8.儲存當前的請求至Collections中,也可另存為成其他的Collections。下次可以快捷點選。

9.鑒權引數,可以設定如OAuth、OAuth2等協議。

10.HTTP Header:自定義請求頭部資訊。

11.請求體(Body)設定,如POST請求時,設定請求的引數,或者二進位制流、json格式引數、xml格式引數等等。

12.發起請求之前執行的指令碼,例如request body裡的那兩個random變數,就是每次請求之前臨時生成的,不熟悉,目前沒有用過。

13.響應測試,傳回的引數進行檢驗,校驗結果會顯示在19功能模版中。目前也沒有用過,,跳過。。

14.各域名下的cookies檢視、新增:

15.code:可一鍵生成不同語言的請求程式碼,如cUrl、java等。

cUrl:

java:這裡使用的是okHttp工具

16、17、18、19都是請求響應response對應的引數值了,應該都比較熟悉了。如傳回的值,cookies、Header、響應測試結果等。

20.請求響應的狀態(status)值,如200等,還有響應時間和大小等。吐槽:入門級的伺服器就是慢。。200毫秒。。

21.複製傳回的引數到剪貼簿中,就是Ctrl+c功能了,在其他地方可直接貼上。

22.傳回引數裡面進行查詢。

23.傳回引數的不同預覽狀態,其實就是美化。。

24.設定不同的工作空間,就像eclipse一樣,可不同的專案不同的工作空間。

25.設定不同環境下的變數值,就像後端開發有測試環境、開發環境、聯調環境等一樣的。

Postman測試RESTful介面示例

以一個簡單的web服務,進行post、get請求示例,其他的大家可自己安裝後自己實踐下,自己動手豐衣足食呀~

建立一個web專案

這裡建立以常見的http請求方式,如get、post、delete、put進行簡單示例下。

RestfulController.java

/**

 * 基於Postman的RESTfulAPI介面測試

 * @author oKong

 *

 */

@RestController

@Slf4j

public class RestfulController {

    @GetMapping(“/get”)

    public String get(String msg) {

        log.info(“get方式!”);

        return msg;

    }

    

    @PostMapping(“/post”)

    public String post(@RequestBody String msg) {

        log.info(“post方式!”);

        return msg;

    }

    

    @PutMapping(“/put”)

    public String put(@RequestBody String msg) {

        log.info(“put方式!”);

        return msg;

    }

    

    @DeleteMapping(“/delete”)

    public String delete(String msg) {

        log.info(“delete方式!”);

        return “delete ” + msg + ” success!”;

    }

    

        /**

     * 設定傳回狀態為417

     * @param msg

     * @return

     */

    @GetMapping(“/status”)

    @ResponseStatus(HttpStatus.EXPECTATION_FAILED)

    public String status(String msg) {

        log.info(“status方式!”);

        return msg;

    }

}

使用Postman測試

1.get方式:

2018-07-28 23:26:39.783  INFO 18092 — [nio-8080-exec-5] c.l.l.s.chapter14.RestfulController      : get方式!

2.post方式:

2018-07-28 23:29:00.143  INFO 18092 — [nio-8080-exec-4] c.l.l.s.chapter14.RestfulController      : post方式!

3.put方式

4.delete方式

5.httpStatus狀態測試(設定傳回的ResponseStatus):

6.請求方式不正確時:

此時,可以把各請求儲存到Collections中,可以測試下批次執行的功能run.

批次執行:

控制檯:

相關資料

這幾篇講解的比較簡單明瞭:

1.https://www.cnblogs.com/xiaoxi-3-/p/7839278.html

2.https://blog.csdn.net/ma_jiang/article/details/78574691

3.官方檔案:https://www.getpostman.com/docs/v6/

總結

本章節主要是講解了利用Postman進行RESTful介面風格進行測試,也簡單介紹了關於Postman的簡單用法。在本人使用過程過程中,以上幾種方式基本上已經滿足開發需求了。前面也介紹過了Swagger了,在對接第三方系統服務時,Swagger基本就用不上了,這個時候Postman的作用就體現出來了。不同場景下用不同的測試工具。至於一些關於Postman的高階用法,大家需要的話就自行搜尋查詢下相關資料吧,其他功能我是基本上沒有用上。。(┬_┬)

最後

目前網際網路上很多大佬都有SpringBoot系列教程,如有雷同,請多多包涵了。本文是作者在電腦前一字一句敲的,每一步都是實踐的。若文中有所錯誤之處,還望提出,謝謝。

系列


【關於投稿】


如果大家有原創好文投稿,請直接給公號傳送留言。


① 留言格式:
【投稿】+《 文章標題》+ 文章連結

② 示例:
【投稿】《不要自稱是程式員,我十多年的 IT 職場總結》:http://blog.jobbole.com/94148/

③ 最後請附上您的個人簡介哈~



看完本文有收穫?請轉發分享給更多人

關註「ImportNew」,提升Java技能

贊(0)

分享創造快樂