【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

API 小达人
• 阅读 272

Cookie是一种在网站之间传递的小型文本文件,用于存储用户的个人信息和偏好设置。当您访问一个网站时,网站会将Cookie存储在您的浏览器中,并在您下次访问该网站时读取该Cookie。这样,网站可以记住您的登录状态、购物车内容以及其他个性化设置。

在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理;再者,每次请求接口前如果都需要先去登录一次,这样不仅效率低,还耗费资源。

有些网站是使用cookie辨别用户身份的,此时我们便可以先登录一次,拿到登录成功后的cookie,后续请求时在请求头中加入该cookie,便可保持登录状态直接请求。

cookie绕过登录其实是登录状态保持,而不是真的不需要登录。


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

我们调试时会经常试用cookie值,除了可以在请求头中直接输入cookie外,也可以通过cookie管理工具把cookie值保存起来。后续测试时可针对不同的域名调用不用的cookie值。

  1. 选择某个文档进入测试TAB,点击最右侧的cookie按钮,即可打开cookie管理工具。

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

  1. 在cookie管理工具中,可输入需要存储cookie的域名及编辑对应的cookie值。

【接口测试】如何在 Eolink Apilkit 中使用 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://


  1. 如下图所示,步骤一与步骤二的域名相同,在Eolink中,步骤一API的返回头会返回set-cookie,步骤二的请求头会自动带上这个cookie。

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

  1. 测试后如下图报告所示,步骤一响应头返回set-cookie,步骤二继承步骤一的cookie信息

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?


在步骤一的后置脚本中通过eo.cookieStorage.set()改变cookie的值,以下为具体示例:

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

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

  1. 在步骤一的后置脚本中修改cookie的值:

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

  1. 步骤一修改后,步骤二中继承的是修改后的cookie值,如下图报告所示:

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?


可以用eo.cookieStorage.all()函数来获取当前步骤的域名以及cookie值,如下图所示:用eo.cookieStorage.all()获取域名,并输出cookie的值

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?


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

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

测试后,报告中输出该域名的 cookie 值:

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?


可以使用eo.cookieStorage.remove("域名")函数清除某个域名的cookie值,如下图所示,在步骤一的后置脚本中清除域名的cookie:

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?

在步骤2中不会再带上步骤一请求返回的cookie

【接口测试】如何在 Eolink Apilkit 中使用 cookie ?


Eolink Apikit = API 管理 + Mock + 自动化测试 + 异常监控 + 团队协作,是一个强大的跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,支持 REST、Websocket、gRPC、TCP、UDP、SOAP等协议,结合 API 设计、文档管理、自动化测试、监控、研发管理和团队协作的一站式 API 生产平台。

点赞
收藏
评论区
推荐文章
_dolphin _dolphin
3年前
.net core Cookie的使用
缘起:  公司领导让我做一个测试的demo,功能大概是这样的:用户通过微信扫一扫登陆网站,如果用户登录过则直接进入主界面,否则就保留在登录界面。实现方法:  首先先把网站地址生成个二维码,在扫描二维码后去获取Cookie如果有值那么就证明登录过直接跳转到主界面,如果Cookie不存在用户通过登录记录的用户信息并保存到Cookie。什么是Cookie:  储存
菜园前端 菜园前端
1年前
考考你浏览器缓存有哪些,区别是什么?
原文链接:浏览器缓存主要包含cookie、在HTML5新标准中新增了本地存储localStorage和会话存储sessionStorage。cookie什么是cookie?cookie是一些缓存数据,主要存储在你的电脑中。当你发起网络请求时也会携带当前域名
Stella981 Stella981
3年前
Selenium(十二):操作Cookie、调用JavaScript、HTML5的视频播放
1\.操作Cookie有时候我们想要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试的。WebDriver提供了操作Cookie的相关方法,可以读取、添加和删除cookie信息。WebDriver操作cookie的方法:get\_cookies():获得所有cookie信息
Easter79 Easter79
3年前
SwiftCommon之Cookie处理
概述在IOS中,cookie数据是由NSHTTPCookieStorage类来管理的,从其类名可以看出,这是一个仓库,一个专门存放Cookie数据的仓库。我们从中获取一个Cookie,得到到的是一个NSHTTPCookie类,它包装了一个完整的Cookie,我们通过这个类可以获取Cookie的各种信息。在默认情况下,当一个网络请求接收到Coo
Stella981 Stella981
3年前
PHP的cookie与Javascript的cookie的关系
PHP读写cookie的语句:setcookie("user","Lilu",time()3600);echo$_COOKIE"user";javascript读写cookie代码:functionSetCookie(name,value)//两个参数,一个是cookie的名子,一
Wesley13 Wesley13
3年前
JavaCookie的使用
1.cookie是什么?cookie是web应用当中非常常用的一种技术,用于储存某些特定的用户信息。2.cookie的作用?在用户登陆时将用户的信息存放在cookie中,用户在一定的时间中再次登陆时不需要输入用户名和密码直接跳转到下一个界面。3.设置cookieCookiecookienew
Stella981 Stella981
3年前
JavaScript 使用Cookie
1.Cookie包含多个互不相关的信息块:名称、值、到期日期和时间、有效路径(默认为当前路径)、域(默认为当前主机)2.创建Cookiedocument.cookievalue;document.cookie'fontSize14';//Cookie有默认到期时间、路径和域,在Cookie值字符串中添加一个分号,后面跟上Cookie属性ex
Stella981 Stella981
3年前
RabbitMQ erlang.cookie解惑
背景在搭建RabbitMQ集群的时候往往会因为.erlang.cookie而报各种错误,网上查资料也会经常说.erlang.cookie会在$home下,或者在/var/lib/rabbitmq下,到底在rabbitmq启动的时候用的哪个cookie,cookie存放的路径在哪里,那么下面我们来仔细的查证一下。.erlang.cookie是什
Stella981 Stella981
3年前
JavaScript高级编程———数据存储(cookie、WebStorage)
JavaScript高级编程———数据存储(cookie、WebStorage)<script/Cookie读写删CookieUtil.get()方法根据cookie的名称获取相应的值,它会在documen.cookie字符串中查找cookie名加上等于号的位置,
3A网络 3A网络
2年前
一文读懂浏览器存储与缓存机制
一文读懂浏览器存储与缓存机制浏览器存储CookieCookie是HTTP协议的一种无状态协议。当请求服务器时,HTTP请求都需要携带Cookie,用来验证用户身份。Cookie由服务端生成,存储在客户端,用来维持状态。通常Cookie由以下值构成:名称(name)值(value)域(Domain)值(value)路径(Path)