面試總結【介面測試】
postman中:通過斷言定義變數,後續通過{{}}呼叫變數,然後把測試用例在集合中執行即可;
jmeter中:通過後置處理器中的JSON提取器或者正則表示式提取器定義變數,後續通過${}呼叫變數。
2、動態參數在postman裡面的解決思路,請使用步驟的方式描述出來
先新增測試用例,通過介面auth登陸成功後,在響應資料內顯示登入資訊,定義全域性變數,具體為:{{變數}}
登陸成功後,在響應資訊中返回認證授權
新增請求頭,先執行登入授權介面,再執行index介面,可以獲取到變數的值
注意:後續執行中需要集合執行
3、在postman中,怎麼呼叫變數
一般上個介面的輸出是下個介面輸出的輸入(auth與index都需要access token)
1)首先定義一個變數來儲存服務端返回的響應資料,然後定義一個變數,來儲存access_token的值
2)key為Authorization value為:jwt 獲取到的授權的令牌,如Authorization:jwt {{token}}
4、怎麼理解postman裡面的collections
一般設定動態引數後,不能單獨執行index介面,單獨執行的話,響應狀態碼會顯示401(無授權),所以需要集合執行
5、postman裡面在哪裡填寫請求引數
請求頭中的資料格式決定了請求引數的格式
GET:在Headers中填寫Authorization
POST:body中選擇json、html或xml
6、常用的狀態協議碼有哪些?
200 請求成功
201 新增成功
204 刪除成功
301 永久重定項
302 臨時重定項
400 Bad Request客戶端請求錯誤(請求引數不對或請求頭不對)
401 Unauthorized無許可權訪問
403 Forbidden有許可權但是禁止訪問
404 請求的資源不存在&請求地址不存在
405 不被允許的請求方法
500 伺服器內部錯誤
504 GateWay Timeout閘道器超時
7、介面斷言需要都有哪方面
協議狀態碼、響應資料、業務狀態碼
8、HTTP的完整請求流程
客戶端與服務端建立tcp連線
客戶端向服務端傳送resperst請求
服務端向客戶端響應response響應
服務端和客戶端斷開tcp連線
9、如何理解cookie,seinse,token?
cookie請求:cookie的資料是儲存在客戶端,因此不安全;
session的資料是儲存在服務端的,比cookie要安全;
而token是基於session開發的,我們可以將它理解為一個令牌,每次返回的資料都是不一樣的,是一串隨機的字串
10、按步驟的方式描述cookie的請求流程
以客戶端輸入賬戶和密碼登入為例
第一步:登入成功後,服務端會生成一個cookie返回給客戶端,並將cookie儲存在客戶端
第二步:客戶端後續傳送請求會將在請求頭中cookie帶上併發送給服務端
第三步:服務端將客戶端傳送的cookie和服務端儲存的cookie進行對比,若對比一致則繼續訪問,若不一致則直接返回登入頁面
11、session的請求流程
以客戶端輸入賬戶和密碼登入為例
第一步:客戶端傳送登入請求資訊,服務端生成sessionID
第二步:服務端將sessionID返回給客戶端
第三步:客戶端在cookie中帶上sessionID傳送給服務端,服務端核對sessionID的真確性
12、token的請求流程
以客戶端輸入賬戶和密碼登入為例
第一步:登入成功後,服務端會生成一個token令牌通過set cookie將token返回給客戶端,並將token令牌儲存在服務端
第二步:客戶端後續傳送請求會將token在請求頭中帶上併發送給服務端
第三步:服務端將客戶端傳送的token和服務端儲存的token進行對比,若對比一致則繼續訪問,若不一致則直接返回登入頁面