一、Postman介紹
1、模擬各種HTTP requests
從常用的GET、POST到Restful的PUT、DELETE....等等。甚至還可以發送文件,送出額外的header
2、Collection功能(測試集合)
Collection是requests的集合,在做完一個測試的時候,你可以把這次的request存到特定的Collection裏面,如此一來,下次要做同樣的測試時,就不需要重新輸入。而且一個Collection可以包含多條request,如果我們把一個request當成一個test case,那Collection就可以看成是一個test suite。通過collection的歸類,我們可以良好的分類測試軟件所提供的API.而且Collection還可以Import或者Share出來,讓團隊裏面的所有人共享你建起來的Collection。
人性化的Response
一般在用其他工具來測試的時候,response的內容通常都是純文字的raw,但是如果是JSON,就是塞一整行的JSON。這會造成閱讀的障礙,而postman可以針對response內容的格式自動美化。JSPN、XML、或是HTML都會整理成我們可以閱讀的格式。
內置測試腳本語言
Postman支持編寫測試腳本編寫測試腳本,可以快速的檢查request的結果,並返回測試結果
設定變量與環境
Postman可以自由設定變量與Environment,一般我們在編輯request,校驗response的時候,總會需要重複輸入某些字符,比如url,postman允許我們設定變量來保存這些值。並且把變量保存在不同環境中。比如,我們可能會有很多種環境,development、staging或local,而local,而這幾種環境變量中的request URL也各不相同,但我們可以在不同的環境中設定同樣的變量,只是變量的值不一樣,這樣我們就不修改我們的測試腳本,而測試不同的環境。
navite app 和 Chrome插件 版本區別:
1、native版本可以直接操作cookie,而Chrome版本需要安裝擴展
2、native版本自帶proxy,可以用來抓包
3、菜單欄
4、有一些headers在Chrome app上是受限的
5、native版本纔有這個選項:Don‘t follow redirects option
6、Postman Console (native版本自帶)
HTTP請求:
狀態碼:3開頭表示重定向
4開頭 客戶端錯誤
401沒有被授權
403也是沒有被授權
500服務器錯誤
502配置,或者重啓環境
響應的headers可以設置cookies
二、安裝
進入postman官網,如果是mac系統可以直接點擊mac app安裝
如果是windows的話,需要在windows下安裝chrome瀏覽器,然後在地址欄輸入chrome://extensions,勾選開發者模式
然後將下載的postman插件解壓,瀏覽器點擊加載已解壓的擴展程序,選擇插件所在目錄就可以了
三、Postman基本概念
1、定義
軟件是基於api的,而postman可以幫助你測試api.也就是說postman可以幫助你成功進行接口測試。Postman 提供給我們一個強大的 Web API 和 HTTP 請求的調試,它能夠發送任何類型的HTTP 請求 (GET, POST, PUT, DELETE...),並且能附帶任何數量的參數和 Headers。不僅如此,它還提供測試數據和環境配置數據的導入導出。
2、接口都有哪些類型
(1)系統對外的接口:比如你要從別的網站或服務器上獲取資源或信息,別人肯定不會把數據庫共享給你,他只能給你提供一個他們寫好的方法來獲取數據,你引用他提供的接口就能使用他寫好的方法,從而達到數據共享的目的。
(2)程序內部的接口:方法與方法之間,模塊與模塊之間的交互,程序內部拋出的接口,比如bbs系統,有登錄模塊、發帖模塊等等,那你要發帖就必須先登錄,那麼這兩個模塊就得有交互,它就會拋出一個接口,供內部系統進行調用。
3、接口的分類
(1)webService接口是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調用,測試。可以使用的工具有SoapUI、jmeter、loadrunner等。
(2)http api接口是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;
4、什麼是接口測試
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。重點測試的是數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等等,這要求對業務邏輯有一定程度上的理解,對數據流向有較好的定位。
首先,接口文檔應該包含以下內容:
(1)接口說明
(2)調用url
(3)請求方法(get\post)
(4)請求參數、參數類型、請求參數說明
(5)返回參數說明
由接口文檔可知,接口至少應有請求地址、請求方法、請求參數(入參和出參)組成,部分接口有請求頭header。
標頭 (header):是服務器以HTTP協議傳HTML資料到瀏覽器前所送出的字串,在標頭與 HTML 文件之間尚需空一行分隔,一般存放cookie、token等信息。
首先,它們確實都是發送到服務器裏的參數,但它們是有區別的,header裏存放的參數一般存放的是一些校驗信息,比如cookie,它是爲了校驗這個請求是否有權限請求服務器,如果有,它才能請求服務器,然後把請求地址連同入參一起發送到服務器,然後服務器會根據地址和入參來返回出參。也就是說,服務器是先接受header信息進行判斷該請求是否有權限請求,判斷有權限後,纔會接受請求地址和入參的。
選擇postman的原因?
a、方便切換不同的環境進行接口測試工作,而不用修改變量或代碼
b、可以在瀏覽器中直接只用插件(目前谷歌系統插件已經不更新了)
c、可以和newman和jenkins集成進行自動化構建,比較方便
接口測試的必要性
①、可以發現很多在頁面上操作發現不了的bug
②、檢查系統的異常處理能力
③、檢查系統的安全性、穩定性
④、前端隨便變,接口測好了,後端不用變
5、返回http狀態碼
每發出一個http請求之後,都會有一個響應,http本身會有一個狀態碼,來標示這個請求是否成功,常見的狀態碼有以下幾種:
1、200 2開頭的都表示這個請求發送成功,最常見的就是200,就代表這個請求是ok的,服務器也返回了。
2、300 3開頭的代表重定向,最常見的是302,把這個請求重定向到別的地方了,
3、400 400代表客戶端發送的請求有語法錯誤,401代表訪問的頁面沒有授權,403表示沒有權限訪問這個頁面,404代表沒有這個頁面
4、500 5開頭的代表服務器有異常,500代表服務器內部異常,504代表服務器端超時,沒返回結果
6、怎樣做接口測試
在測試過程中,很多場景都需要測試人員針對某個接口進行測試,並針對不同類型的接口設計不同的測試方案,這時如果有一 款功能強大的接口測試工具,就快速完成繁瑣工作,大幅提升工作效率。工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
7、GET請求和POST請求的區別:
1、GET使用URL或Cookie傳參。而POST將數據放在BODY中。
2、GET的URL會有長度上的限制,則POST的數據則可以非常大。
3、POST比GET安全,因爲數據在地址欄上不可見。
4、一般get請求用來獲取數據,post請求用來發送數據。
其實上面這幾點,只有最後一點說的是比較靠譜的,第一點post請求也可以把數據放到url裏面,get請求其實也沒長度限制,post請求看起來參數是隱式的,稍微安全那麼一些些
8、postman 實現簡單的post/get請求
如何將測試過的請求保存:
Collections功能可以將我們執行過的請求收集起來並可以給他們分類.具體操作步驟:
(1)打開postman進入主頁,選擇左上角的Collections,然後點擊添加。
點擊添加後,會彈出一個表單,需要你爲Collections填一個名字,描述信息可填可不填。
用postman發送請求,測試完成之後,可以點擊save as將該條請求添加到剛纔創建的Collections中,下次再進行測試直接從Collections選擇即可。
總結:
1.1 Get請求:Get 請求是最簡單的請求方式,輸入URL就能完成
第一步:新建一個tab頁面
第二步:輸入URL,選擇請求方式爲Get
第三步:點擊“send”按鈕
第四步:查看返回碼是否異常
1.2 Post請求:Post請求跟Get的區別除了請求方式不同之外,還需要添加請求體,請求體內容多半爲Json格式。
第一步:新建一個tab頁面
第二步:輸入URL,選擇請求方式爲POST
第三步:輸入請求體內容
第四步:點擊“send”按鈕
第五步:查看返回碼,返回信息等
1.3 帶cookie的請求:該請求需要在Heards裏面添加Cookie
第一步:新建一個tab頁面
第二步:輸入URL,選擇請求方式爲POST
第三步:輸入請求體內容
第四步:在Heard裏面添加Cookie信息
第五步:點擊“send”按鈕
第六步:查看返回碼,返回信息等
1.4 帶Header的請求
第一步:新建一個tab頁面
第二步:輸入URL,選擇請求方式爲POST
第三步:輸入請求體內容
第四步:在Heard裏面對應的內容
第五步:點擊“send”按鈕
第六步:查看返回碼,返回信息等
1.5 文件上傳的請求:發送請求前需要先上傳文件。
第一步:新建一個tab頁面
第二步:輸入URL ,選擇請求方式爲POST
第三步:輸入請求體內容,文件內容選擇file, 選擇本地的文件上傳
第四步:點擊“send”按鈕
第五步:查看返回碼,返回信息等
增加斷言:(都是在HTTP響應裏添加斷言)