动态

详情 返回 返回

【接口測試】如何在 Eolink Apilkit 中使用 cookie? - 动态 详情

什麼是 Cookie ?

Cookie是一種在網站之間傳遞的小型文本文件,用於存儲用户的個人信息和偏好設置。當您訪問一個網站時,網站會將Cookie存儲在您的瀏覽器中,並在您下次訪問該網站時讀取該Cookie。這樣,網站可以記住您的登錄狀態、購物車內容以及其他個性化設置。

在編寫接口自動化測試用例或其他腳本的過程中,經常會遇到需要繞過用户名/密碼或驗證碼登錄,去請求接口的情況,一是因為有時驗證碼會比較複雜,比如有些圖形驗證碼,難以通過接口的方式去處理;再者,每次請求接口前如果都需要先去登錄一次,這樣不僅效率低,還耗費資源。

有些網站是使用cookie辨別用户身份的,此時我們便可以先登錄一次,拿到登錄成功後的cookie,後續請求時在請求頭中加入該cookie,便可保持登錄狀態直接請求。

cookie繞過登錄其實是登錄狀態保持,而不是真的不需要登錄。


cookie 管理

項目地址:https://www.eolink.com/apikit

1、快速編輯 cookie

我們調試時會經常試用cookie值,除了可以在請求頭中直接輸入cookie外,也可以通過cookie管理工具把cookie值保存起來。後續測試時可針對不同的域名調用不用的cookie值。

  1. 選擇某個文檔進入測試TAB,點擊最右側的cookie按鈕,即可打開cookie管理工具。

  1. 在cookie管理工具中,可輸入需要存儲cookie的域名及編輯對應的cookie值。



2、基於函數自定義 cookie

當您想對cookie的值進行自定義時,可以通過 Eolink 的函數做到;

//設置cookie值
eo.cookieStorage.set("hostname",[])

//獲取 cookie 存儲對象,返回為 object
eo.cookieStorage.all()

//獲取某個域名的 cookie 存儲,傳參為 hostname:域名,返回為 array
eo.cookieStorage.get("hostname")

//刪除某個域名下的cookie字段
eo.cookieStorage.remove("hostname")

⚠️注意:hostname示例格式:www.eolink.com,前面不需要加http://或https://

3、相同域名不同步驟間 cookie 傳遞

  1. 如下圖所示,步驟一與步驟二的域名相同,在Eolink中,步驟一API的返回頭會返回set-cookie,步驟二的請求頭會自動帶上這個cookie。

  1. 測試後如下圖報告所示,步驟一響應頭返回set-cookie,步驟二繼承步驟一的cookie信息



4、需要改變 cookie 的值

在步驟一的後置腳本中通過eo.cookieStorage.set()改變cookie的值,以下為具體示例:

var tmp_host="域名" //需要改變cookie值的域名

eo.cookieStorage.set(tmp_host,["123456"])//修改tmp_host的cookie為123456

  1. 在步驟一的後置腳本中修改cookie的值:

  1. 步驟一修改後,步驟二中繼承的是修改後的cookie值,如下圖報告所示:



5、需要獲取域名和 cookie 的值

可以用eo.cookieStorage.all()函數來獲取當前步驟的域名以及cookie值,如下圖所示:用eo.cookieStorage.all()獲取域名,並輸出cookie的值



6、獲取某個域名下的 cookie 存儲

可以用 eo.cookieStorage.get()函數獲取指定域名下的cookie值,如下圖所示:

測試後,報告中輸出該域名的 cookie 值:



7、 刪除某個域名下的 cookie 字段

可以使用eo.cookieStorage.remove("域名")函數清除某個域名的cookie值,如下圖所示,在步驟一的後置腳本中清除域名的cookie:

在步驟2中不會再帶上步驟一請求返回的cookie


Eolink Apikit = API 管理 + Mock + 自動化測試 + 異常監控 + 團隊協作,是一個強大的跨平台(Windows、Mac、Linux、Browsers...)的 API 開發測試工具,支持 REST、Websocket、gRPC、TCP、UDP、SOAP等協議,結合 API 設計、文檔管理、自動化測試、監控、研發管理和團隊協作的一站式 API 生產平台。

user avatar huogewoziceshixueyuan 头像 tecdat 头像 definecloud 头像 viggoz 头像 timerrring 头像 shu_jshu_jiashu_jianshu_jiang 头像 aijianshendexuegao_664c69bc099dc 头像 buyaomingdeshuilongtou_orcjl 头像 chenzhuodelanqiu_cl1nlj 头像 qiumi_685b70038c171 头像
点赞 10 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.