postman使用變量:
之前我們請求里面的主機地址都是localhost,表示本機。而在實際測試過程中,服務器地址往往並非是在本機上的,這時候就需要用到變量。
postman支持多個測試環境,一個環境里可以配置多個變量。
postman的變量主要分兩種類型:
① 環境里面的變量
- 點擊界面右上角的齒輪圖標,選擇Manage Environments
- 在彈出對話框中,點擊Add按鈕,填寫環境名ENVIRONMENT NAME 、VARIABLE、CURRENT VALUE 如 :server1 serverip http://localhost
- 這樣一套環境就創建好了。創建好厚,就需要使用 可以將所有請求的url中的主機名localhost替換為為變量名{{server1}} 如 https://{{server1}}/api/pagenum
- 注意:雙花括號將變量名括起來,雙花括號就表示里面是一個變量。
- 當進行測試時,若使用的是本機的API服務,那就選擇名為server1配置的環境;若使用不是本地的,就選擇server2的環境,postman就會使用不同環境里面的變量對應的值。
② 全局變量
- 有時候,有些變量,我們並不需要配置到很多套環境里,因為基本上這就是一個固定值,要修改的話,所有的環境里面都要修改。
- 我們沒有必要創建變量到環境中,可以創建一個全局變量,全局變量與我們選擇的環境無關。
- 點擊界面右上角的齒輪圖標,選擇Manage Environments
- 在彈出對話框中,點擊Globals,加入全局變量名和變量值 如:course_add {'name':'初中數學', 'desc':111, 'display_idx':1}
- 然后我們可以在API請求的body中將參數的value值修改為用變量替代即可。如 {{course_add}}
HTTP抓包:
在進行接口測試時,我們難免要用到fiddler工具來抓包:
http抓包,就會使用到fiddler。目前有兩種抓包類型:
① 抓瀏覽器的包 我們需要指定瀏覽器的代理。以Chrome瀏覽器為例,進入設置 === 高級選項 ===打開代理設置 ===勾選使用代理服務器設置地址和端口
② 抓手機上的包 同樣需要在手機上設置代理。填入fiddler所在機器的IP地址和代理服務器端口(默認8888)。注意:電腦wifi和手機所連接的wifi應處於同一個網絡環境。
這樣配置好,就可以抓http包了。
另外如果想抓取https包,相應的需要下載fiddler證書將其導入瀏覽器中或手機上安裝fiddler證書,才可抓取哦!
cookie和session:
做web api測試時,可能會接觸到cookie和session。
cookie是我們在訪問一個網站時,通常由網站服務器返回的一種標記為cookie類型數據。要求我們存儲在瀏覽器所在電腦上。
以后每次訪問本網站,瀏覽器都會在http請求中將該數據發送過來。
session也叫會話,某用戶登錄后,服務端就會認為創建了一個會話session。另一個用戶登錄就會創建另一個session。
為了標志不同的會話,服務端后面生成一個叫sessionid的東西,標志這次登錄的所有后續http消息交互。
sessionid通常都保存在數據庫中,並且咳喲存儲該sessionid的一系列信息,如 用戶名、權限等。
session通常用在web應用中,就是瀏覽器里面的網頁應用。作為一種驗證用戶權限的機制:能根據sessionid,從而知道該用戶是否有相應的權限訪問相應的資源。
sessionid是如何返回給客戶端的呢? --------
通過http響應里面的Set-Cookie頭部信息,要求瀏覽器保存到cookie中。
隨后,客戶端每次訪問同一個網站,都會將該cookie里面的內容放到http頭部中,當然sessionid也在里面 。即Set-Cookie中存儲了sessionid
所以服務端根據sessionid,到表中能夠查到相應的記錄,就知道了對應的是哪個用戶登錄。
總結:cookie主要用來存儲用戶的一些信息,存儲在瀏覽器中
session機制利用了cookie的功能 sessionid存儲在數據庫中;session弊端就是:服務器有一定壓力,性能上會有損耗。
token:是數據信息和驗證信息的一串字節數據。而token是你們公司的業務服務器生成的。
- hash算法產生token
- 數據信息改變,驗證信息也會改變,HMAC算法
- 密鑰 + data = HMAC
生成的token包含了別人無法偽造的驗證數據,可以用來驗證這個token是否是我這個業務服務器生成的。
token驗證的邏輯如下:
1 - 客戶端發送請求給服務器,服務器接收並驗證后,產生一個token
2- token里面包含了一些關於這用戶的數據信息以及驗證token有效性的數據,服務器將token返回給客戶端
3 - 客戶端得到token后,以后每次業務請求都要帶上token
4 - 通常放在http請求頭Authenrization中,服務端接到請求,就會驗證token是否是自己簽發的。驗證方法同樣是hmac(密鑰 + 數據)= 驗證信息,計算出來驗證信息和token里面的驗證信息是否一致。
注意:公鑰可以用來加密,私鑰可以用來解密;私鑰可以用來簽名,公鑰可以用來驗證簽名。
好處:一旦登陸后,后續只要把請求帶過來,驗證通過。
token的優點:不需要通過數據庫驗證,極大的提高了速度
token使用場景:① 防止表單重復提交 ② 跨站點請求偽造