Jmeter接口测试实战-Cookies

这篇具有很好参考价值的文章主要介绍了Jmeter接口测试实战-Cookies。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景:

接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires).

 Session是建立连接后session有效, 断开连接session失效, token有效期是服务端控制, cookie是用户浏览访问时被创建的,由服务器发送给客户端使用, 有效期长短和服务器相关, 不同的web服务器默认值略有差异, 在一个临时会话周期内,cookie一般不会被持久化, 也就是关闭浏览器或者退出登录cookie失效.

如何获取token, 我们之前的推文(Jmeter接口测试-正则表达式)里已经介绍过, 今天来讲cookie, 使用cookie既然有有效期,那退出或者其他情况使cookie失效了, 在接口测试脚本中要一直去修改为最新的cookie, 不是很恼人的一件事情吗?  有没有办法一劳永逸呢, 答案是肯定的.

实战:

还是从实例入手, 首先我们找一个已经跑通的接口(原先cookie获取是在自定义变量里写死cookie值, 然后再传给cookie manager), 在结果树的请求->request Body中查找信息

Jmeter接口测试实战-Cookies

 文章来源地址https://www.toymoban.com/news/detail-492330.html

从图中可以看出, cookie data有几个信息组成

  • username

  • SESSION

  • SERVERID

那这些信息去哪里获取呢?

使用chrome的开发者工具查看, 在application标签下很容易就能找到上述信息

Jmeter接口测试实战-Cookies 

有了以上这些信息,那接下来的事情就好办了, 两种方式添加

1. http cookie manager(推荐)

2. http 信息管理器

在cookie 管理中添加需要存储的cookie

 Jmeter接口测试实战-Cookies 

然后把原先用自定义变量里的cookie值删除(写死的cookie值), 用这个方法去获取cookie给同域名下的其他API使用, 即可非常轻松的执行需要登录的API, 细心的同学会发现 cookie data里还有username和SESSION 怎么没用到, 我这个实例中这两个不用也可以正常执行, 如果有需要自行加上即可, 至此有趣的cookie可一劳永逸的使用, 不必再为cookie过期而烦恼了, 不知道你学会了没有, 在实际测试场景中,类似这样的问题时常困扰着我们, 如何巧妙的使用方法去解决(偷懒法则), 学会偷懒的技术工程师才是一个合格的工程师. 

一、jmeter的http cookies管理器使用

作用:
1 发送请求,经常要校验cookies信息
2 录制的时使用的cookie管理器,只能在指定的域下面使用,如果服务器地址切换,发现发送请求时,就会出现no cookies
使用方法
1 使用badboy录制的脚本都带了cookie管理器
2 使用jmeter的代理录制脚本,提前设置好cookie管理器再进行录制
3 自己设置cookie管理器
前两种的cookie管理器都有域名的限制,有时需要自己进行修改

我一般使用代理录制脚本,自己添加cookie管理器的方式进行

步骤:

1 录制脚本
 

Jmeter接口测试实战-Cookies

 

2 修改cookie管理器,如果没有域名切换的话,可以不用自己配置的
1)使用开发者工具,或者firefox的firebug插件获取cookie信息。建议使用firebug这个配置和jmeter几乎一样。据说可以直接导入到jmeter,但是我没有导入成功,就自己配置了。
下面是开发者工具所看到的cookie信息

并不是所有的都需要配置发送到服务器。我的只配置了sf_session就ok了
域就是服务器的ip
Jmeter接口测试实战-Cookies

这样后面发送的所有请求都会自带上这个cookie信息。这里面的cookie可以通过正则表达式进行提起,设置成变量

二、jmeter的http cookies管理器使用

Cookie管理器,会默认把服务端返回的cookie数据记录下来
步骤:
1 先添加http cookie管理器,这时jmeter就会自动记录下服务端返回的cookie信息
由于数据是保存在cookie里面,没法通过正则表达式去提取 Jmeter接口测试实战-Cookies

 2 其实这个时候,jmeter发送请求,会默认把cookie信息带上,能解决大部分问题

Jmeter接口测试实战-Cookies

 3 但是我们这时又想用到cookie里面的某一个值的时候,就需要修改jmeter的设置了
在jmeter的安装bin路径下,
修改:jmeter.properties

#CookieManager behaviour - should Cookies be stored as #variables?
#Default is false
CookieManager.save.cookies=true //这个把前面的#去掉,

 4 调用cookie里面某一个值

${COOKIE_某一个值名称}
如上面的 sf_session就可以直接用${COOKIE_sf_session}调用。和自定义变量完全一样

注意点:必须是请求服务端以后,cookie管理器里面才会有数据,一般是登陆时服务端返回会带回cookie。之前cookie会一直为空
下面是我demo的截图

Jmeter接口测试实战-Cookies

 提取成功图片:
前置bs没有cookie值
后置的bs有了cookie值

Jmeter接口测试实战-Cookies

三、jmeter直接用cookie管理器保存登录后的cookie信息

最近遇到的问题是,登录需要验证码,验证码每次都变且无规律,所以录制登录接口就没办法录制了。于是就想着能不能直接在cookie管理器中保存我登录后的信息,其他接口直接调用这个参数呢?经过试验,有的系统可以,有的不可以,不可以的还没找到原因和解决办法,先写可以使用的步骤吧。

1、打开火狐浏览器,登录要保存cookie信息的网页并登录成功;

2、打开调试模式,切换到存储,打开cookie,然后右侧红框区域内的所有数据就是cookie信息;
Jmeter接口测试实战-Cookies

3、把这个表里的所有数据的名称、域名、路径、值都一一写到cookie管理器里,如下图jmeter的这个位置 

 Jmeter接口测试实战-Cookies

4、然后,在jmeter中,添加http请求,把cookie管理器中的这些参数,都当成参数传过去,假如cookie管理器中只有一个参数JSESSIONID,写接口时,就需要把JSESSIONID当成一个参数传过去,如下图 

Jmeter接口测试实战-Cookies 

5、这样就可以不需要登录,直接调用登录的cookie信息了 

四、个人自己操作实例:

Jmeter接口测试实战-Cookies

1、谷歌浏览器打开调试,然后提交登录,获取session 

Jmeter接口测试实战-Cookies 

 2、添加HTTP Cookie管理器,把session添加进去: 

Jmeter接口测试实战-Cookies 

Jmeter接口测试实战-Cookies 

Jmeter接口测试实战-Cookies 

  3、添加响应断言 Jmeter接口测试实战-Cookies

4、执行,返回custname_0表示成功,custname_2表示失败 

Jmeter接口测试实战-Cookies 

Jmeter接口测试实战-Cookies 

 新增客商有规则需要校验,导致提交重复信息会失败,只有第一次才会成功   

Jmeter接口测试实战-Cookies 

注意:如果是在同一个线程组,根本不需要添加两个cookies的参数值,只需要添加一个无参数值的空的http cookie管理器,去掉下图的两个SESSIONID变量值 

Jmeter接口测试实战-Cookies 

下面是增加权限的截图: 

Jmeter接口测试实战-Cookies 

Jmeter接口测试实战-Cookies 

 

 

 

 

到了这里,关于Jmeter接口测试实战-Cookies的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter接口测试实战篇:10分钟学会Jmeter的用法

    一提到接口测试,通常大家会有这样的疑问:前端测试不是已经覆盖到各种业务逻辑了吗?为什么还要做接口测试,接口测试和前端测试是不是重复了?对于这个问题,可以从下面几个方面来解释: 什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主

    2024年02月20日
    浏览(43)
  • Jmeter验证码注册接口压力测试实战

    主要学习的内容包括发送HTTP请求、HTTP信息头管理器、HTTP cookies管理器、用户定义的变量、响应断言、CSV数据文件设置的使用。 提供的测试网址为: http://www.qk365.com/security/register 使用Chrome浏览器,先将浏览器的cookies缓存清空。 清空后,打开待测试的网址,按F12键,输入要注

    2024年01月17日
    浏览(53)
  • Jmeter接口测试工具详解项目实战(三)

    一、没有接口文档时,如何使用jmeter录制和创建脚本 1.抓包 2.badboy 3.jmeter自带的http代理服务器     (1)新建线程组     (2)新建代理服务器:测试计划-非配置元件-代理服务器              端口:8888              目标控制器:设置为你录制的目标线程组            

    2024年01月25日
    浏览(48)
  • jmeter接口测试及详细步骤以及项目实战教程

    如果看完这篇文章还是不太明白的话,可以看看下面这个视频 2023年B站最新Jmeter接口测试实战教程,精通接口自动化测试只需要这一套视频_哔哩哔哩_bilibili 2023年B站最新Jmeter接口测试实战教程,精通接口自动化测试只需要这一套视频共计16条视频,包括:1.【Jmeter】什么是接

    2024年02月09日
    浏览(35)
  • 接口自动化测试-Jmeter+ant+jenkins实战持续集成(详细)

    1、下载安装配置Jmeter 首先下载jmeter工具,并配置好环境变量; 参考之前写过的文章:https://blog.csdn.net/shuang_waiwai/article/details/121641310 jmeter默认保存的是.jtl格式的文件,要设置一下bin/jmeter.properties,文件内容,保存jmeter.save.saveservice.output_format=xml 2、下载安装配置ant 下载ant工

    2024年02月13日
    浏览(72)
  • jmeter接口测试项目实战详解,零基础也能学,源码框架都给你

    目录 1.什么是jmeter? 2.jmeter能做什么? 3.jmeter环境搭建 3.1前提: 3.2jmeter下载: 3.3jmeter环境搭建: 3.3.1mac当中jmeter环境搭建: 3.4jmeter基本配置 3.4.1.切换语言  3.4.2.安装插件 4.jmeter组件 4.1测试计划 4.2线程组 4.2.1取样器错误后要执⾏的动作 4.2.2线程属性 4.3jmeter监听器 4.3.1聚合

    2024年02月08日
    浏览(43)
  • Jmeter验证码图片识别注册接口压力测试实战_压测时,登录需要传图形验证码

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新软件测试全套学习资料》

    2024年04月22日
    浏览(53)
  • 自动化测试实战篇(8),jmeter并发测试登录接口,模拟从100到1000个用户同时登录测试服务器压力

    进程是资源分配最小单位,线程是程序执行的最小单位; 每个进程内部会有N个线程,但至少要有1个线 程。 比如公司就是一个进程,公司的员工就是线程。 线程占用的资源要⽐进程少很多。 线程之间通信比进程更方便 并发是指在一个时间段内有多个进程在执行 并行指的是

    2024年02月16日
    浏览(45)
  • jmeter做接口压力测试_jmeter接口性能测试

     jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linu

    2024年02月07日
    浏览(70)
  • JMeter之压力测试——混合场景并发

    在实际的压力测试场景中,有时会遇到多个场景混合并发的情况,这时就需要设置不同的并发比例对不同场景请求数量的控制,下面提供两种方案。 一、多线程组方案 1.业务场景设计如下:场景A、场景B、场景C,三个场景按照并发比例要求进行100个用户并发的压力测试 业务

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包