全網最全postman接口測試教程和項目實戰~從入門到精通!!!


Postman實現接口測試內容大綱一覽:

一、什么是接口?為什么需要接口?

接口指的是實體或者軟件提供給外界的一種服務。

因為接口能使我們的實體或者軟件的內部數據能夠被外部進行修改。從而使得內部和外部實現數據交互。所以需要接口。

比如:

硬件接口:USB接口:它的作用是使電腦能夠和U盤等外部設備交互數據。

軟件接口:右稱:API(application program interface):微信提現功能調用銀聯接口實現數據交互。

二、接口返回的數據格式。

1.json格式如:

      {‘error_code’:40001,msg:'提現成功',data:[具體的數據]}

      error_code(code):錯誤碼

      msg(message):對錯誤碼的中文說明

      data(result):具體的數據

      目前80%-90%多會返回這個json格式:

      json數據格式是由以下兩種數據組成:(可以互相嵌套)

      a.字典,{鍵值對}

      b.數組:[12,13,14]

      驗證json格式以及可以做加密和解密:https://www.bejson.com/

2.xml格式如:

      <xml>

      <error_code>40001</error_code>

      <msg>提現成功</msg>

      <data>具體的數據</data>

      </xml>

3.html格式如:

      <html>

      <head>

      <title></title>

      </head>

      <body></body>

      </html>

三、接口協議:(通過接口地址分辨)

1.http協議:地址以https//開頭:這里重點講解http協議,因為目前市面上80%的接口都是使用這種協議!

(1) 什么是http協議

http協議是一種超文本傳輸協議。主要用於瀏覽器和服務器之間交互數據。交互數據分為兩個部分:

請求:get(獲取數據),post(提交數據),put(修改數據),delete(刪除數據)

響應:用數字來表示響應的結果

1XX信息

2XX成功

3XX重定向(跳轉)

4XX客戶端錯誤

5XX服務器錯誤

(2)http協議請求詳解

請求行(請求方式,請求地址,協議的版本)

POST http://localhost/phpwind/index.php?m=u&c=login&a=dorun HTTP/1.1

請求頭

Host: localhost(請求的主機地址)

Connection: keep-alive(這個連接保存活躍)

Content-Length: 110(請求的內容有110個字節)

Accept: application/json, text/javascript, */*; q=0.01(客戶端可以接收的數據格式)

X-Requested-With: XMLHttpRequest(ajax請求,異步請求)

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like

Gecko) Chrome/78.0.3904.108 Safari/537.36(客戶端的用戶)

Content-Type: application/x-www-form-urlencoded; charset=UTF-8(內容的格式)

Referer: http://localhost/phpwind/index.php?m=u&c=login(來源)

Accept-Encoding: gzip, deflate, br(壓縮方式)

Accept-Language: zh-CN,zh;q=0.9(語言)

Cookie: csrf_token=2c76c391ab3922fe; (cookie信息)

空一行

請求數據

username=admin&password=123456&backurl=http%3A%2F%2Flocalhost%2Fphpwind

%2F&invite=&csrf_token=2c76c391ab3922fe

(3) http協議響應詳解

響應行(協議,響應碼,響應信息)

HTTP/1.1 200 OK

響應頭

Date: Tue, 02 Jun 2020 13:09:47 GMT

Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45

X-Powered-By: PHP/5.4.45

Set-Cookie: z92_lastvisit=1409%091591103387%09%2Fphpwind%2Findex.php%3Fm%3Du%26c%3Dlogin

%26a%3Ddorun; expires=Wed, 02-Jun-2021 13:09:47 GMT; path=/

Vary: Accept-Encoding

Content-Length: 310

Keep-Alive: timeout=5, max=100

Connection: Keep-Alive

Content-Type: text/html

空一行

響應數據

{"refresh":false,"state":"success","data":"","html":"","message":[""],"__error":""}

2.webservice協議:地址以https://開頭,但是包含一個?wsdl

3.dubbo協議:以dubbo://開頭

四、企業當中如何做接口測試?

1.得到api接口文檔,熟悉接口業務,接口地址,鑒權,入參,出參,錯誤碼。

2.編寫接口測試計划方案以及評審。

3.編寫接口測試用例以及評審

      思路:

      正例:

      鑒權反例:

            鑒權碼為空,錯誤的鑒權碼,鑒權碼已過期......

      參數反例:

            參數為空,參數類型異常,參數長度異常,

      其他場景:

分頁場景:(0,第一頁1,中間頁5,最后一頁10,100,其他異常)

4.使用接口測試工具執行接口測試

5.輸出接口測試報告。

五、接口測試工具Postman介紹

Postman是一款功能強大的網頁調試與發送HTTP請求的Chrome插件,專為接口而生。界面功能如下:

六、使用Postman執行接口測試頁簽和傳參說明

(1) Postman請求主要頁簽說明:

Params:get請求傳參

Headers:請求頭

Body:post請求傳參

      1.none沒有參數

      2.form-data:傳文件和鍵值對

      3.x-www.. 傳鍵值對

      4.raw:傳text,json,xml

      5.binary:傳文件的二進制。

Pre-request Script:請求之前的腳本

Tests:請求之后的斷言腳本,用於判斷請求是否成功!

(2) Postman響應主要頁簽說明:

Body:響應的數據(Pretty:json格式,Raw:文本格式,Preview:網頁格式)

Cookies:緩存

Headers:響應頭

Test Results:斷言的結果

(3) Postman返回碼和返回狀態信息說明

Status:200返回碼

OK:返回信息

Time:170ms 毫秒

Size:343B 字節

七、Postman斷言

//斷言:判斷接口有沒有成功,常用的斷言如下:

//1.斷言返回碼為200

pm.test("Status code is 200", function () {

    pm.response.to.have.status(200);

});

//2.斷言返回的結果中中包括access_token字符串。

pm.test("Body matches string", function () {

    pm.expect(pm.response.text()).to.include("access_token");

});

//3.斷言返回的json數據中的值:斷言expires_in的值為7200

pm.test("Your test name", function () {

    var jsonData = pm.response.json();

    pm.expect(jsonData.expires_in).to.eql(7200);

});

//4.斷言響應的內容等於一個字符串

pm.test("Body is correct", function () {

     pm.response.to.have.body("response_body_string");

});

//5.檢查響應頭中是否有Content-Type字段

pm.test("Content-Type is present", function () {

    pm.response.to.have.header("Content-Type");

});

//6.斷言響應的時間少於200MS

pm.test("Response time is less than 200ms", function () {

    pm.expect(pm.response.responseTime).to.be.below(300);

});

八、Postman環境變量和全局變量

1.在右上角的齒輪圖標中可以設置環境變量和全局變量,如:

開發環境:url:192.168.0.1

測試環境:url:192.168.0.2

預發布環境:url:192.168.0.3

線上環境:url:www.xxx.com

2.在請求時:通過{{}}去調用全局變量

3.在運行時:選擇不同的環境

九、上一個接口的返回值如何作為下一個接口的參數

1.上一個接口的tests中取值:

//JSON.parse把返回的值轉化成一個vjson格式的數據,保存到value這個變量中

var value = JSON.parse(responseBody)

//把取得的token值保存到全局變量的access_token變量中。

pm.globals.set("access_token", value.access_token);

2.下一個接口通過{{access_token}}取值

十、PHPWIND論壇API項目實戰

此項目筆者列舉出有如下接口:

1.訪問項目接口

2.登錄接口

3.跳轉到登錄成功頁面接口

4.選板塊接口

5.點擊新板塊接口

6.發帖接口

7.跳轉到發帖成功接口

8.回帖接口

9.跳轉到回帖成功頁面接口

10.退出接口

接口文檔如下:

接口演示如下:

十一、內容太多寫不下,總結一下

如果你對此文有任何疑問,如果你也需要接口項目實戰,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣歡迎加入:軟件測試技術群:695458161,群里的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。

作者:來自公眾號:軟測之家
出處:https://blog.csdn.net/pengjiangchun
原創不易,歡迎轉載,但未經作者同意請保留此段聲明,並在文章頁面明顯位置給出原文鏈接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM