『政善治』Postman工具 — 10、Postman中對Cookie的操作

繁華似錦Fighting發表於2021-05-14

在介面測試中,某些介面的呼叫,需要帶入已有Cookie,比如有些介面需要登陸後才能訪問。

Postman介面請求使用Cookie有如下兩種方式:

1、直接在頭域中新增Cookie頭域,適用於已經知道請求所用Cookie資料的情況。

2、使用Postman的Cookie管理機制,既可以手動新增,同時Postman也會將操作流程中獲取的引數自動儲存,因此可以通過呼叫前置介面來完成Cookie獲取。(就是在Pre-request Script傳送一次登陸請求)

下面我們以一個電商專案為例,使用電商專案進行測試,在登入介面完成登入之後,通過購物車介面獲取購物車中的資訊。

提示:要獲取購物車介面中的資訊,需要使用登入後的Cookie保持登入狀態。

1、往常的Cookie處理方式

我們可以通過Fiddler工具在一個網站上抓取我們需要URL。

如果是設計到Cookie、Session的介面,我們需要保持網站在網頁的登陸狀態。

步驟1:我們直接呼叫檢視購物車介面。

image

可以看到我們在未登入的狀態下,無法檢視購物車中的資訊。

因為我們在這一次請求介面的時候,並沒有提交登陸之後的Cookie資訊。

步驟2:我們進行登陸,再檢視購物車。

我們先進行登陸,然後再檢視購物車,我們抓取檢視購物車的介面,如下圖:

Cookie資訊在進行介面訪問攜帶的時候,通常在請求頭(Request Headers)的Cookie屬性中。

image

步驟3:把上面的Cookie複製,填寫在Postman的檢視購物車請求中。

之後我們再次傳送請求,如下圖:

image

這就是我們在Postman中第一種處理Cookie的方式。

提示:這種方式處理Cookie,是基於該Cookie能夠保留一段時間,也就是該Cookie在一段時間內是有效的。

如果在瀏覽器中,做登出操作,該Cookie的資訊也會失效,訪問購物車介面還是無法檢視購物車中的資訊。

2、Postman中的Cookie管理機制

Postman中自身也提供了Cookies的管理機制,會自動幫助我們儲存響應Cookie的記錄。

步驟1:建立登陸網站的請求,並檢視Cookies管理。

建立登陸網站的請求,如下圖:

image

提示:還有一個驗證碼屬性verify_code,可以不新增該屬性。也可以新增,賦值1即可。(那說明驗證碼是一個前臺校驗,網站登陸的時候,驗證碼填1也是可以登陸的。)

檢視Postman中Cookies管理,很簡單,就是在請求的編輯頁面中,在Send按鈕的下方有一個Cookies,點選即可。如下圖:

image

我們可以看到,之前訪問過百度的一些Cookie內容都儲存在裡邊了。

步驟2:點選傳送登陸請求,再次檢視Cookies管理。

傳送請求,如下圖:

image

我們再次檢視Cookies管理的內容。

image

步驟3:我們再次傳送檢視購物車介面。

看看是否能夠檢視到購物車中的內容,看下圖:

image

總結:

Postman中關於的Cookie管理:

我們訪問過的網站,相關的Cookie資訊,Postman會自動的幫我們進行儲存。

比如我們進行過登陸操作,在訪問之後的操作,後續的介面就會自動攜帶Cookie管理中的資訊進行訪問了。(只能保持一段時間內有效)

這時候我們用測試集的Run按順序執行這兩個介面就非常的方便了。

3、自定義Cookie管理內容

還是以查詢購物車內容為例:

步驟1:檢視Cookie管理內容。

image

步驟2:填寫伺服器域名來新建Cookie。

也就是網站的名稱,是你自定義儲存Cookie對應的網站的名稱。

image

點選Add按鈕進行新增,如下圖:

image

步驟3:點選Add Cookie新增Cookie內容。

只修改目標中的Cookie_1=value;部分,其他預設即可。

image

點選Save儲存。

Cookie模板內容說明:

Cookie_1=value; # Cookie的內容
Path=/;  # 表示哪些路徑下的檔案有許可權讀取該 cookie
Domain=.www.testingedu.com.cn; # 網站域名
Expires=Sun, 20 Feb 2022 07:11:54 GMT; # 過期時間

說明:

因為訪問網站時候會儲存到客戶端很多的Cookie資訊,在訪問其他介面的時候,只帶相關的Cookie就可以,不用帶所有的Cookie訪問。

例如關於登陸授權的Cookie資訊就是PHPSESSID,我們只儲存這一條Cookie即可。

(關於登陸許可權的Cookie資訊,一般都叫sessionID這樣類似的名稱。)

(如果介面文件中寫的詳細,都可以在介面文件中找到,一般不可能。)

步驟4:訪問查詢購物車介面。

我們可以看到請求頭中沒有Cookie資訊,依然能夠獲得購物車中的內容。

image

以上就是Postman中關於Cookie的基礎操作。

相關文章