我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Jmeter接口测试获取Cookies的方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Jmeter接口测试获取Cookies的方法是什么

这篇“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的方法是什么

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

  • username

  • SESSION

  • SERVERID

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

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

Jmeter接口测试获取Cookies的方法是什么

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

  •  http cookie manager(推荐)

  •  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 falseCookieManager.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管理器中保存我登录后的信息,其他接口直接调用这个参数呢?经过试验,有的系统可以,有的不可以,不可以的还没找到原因和解决办法,先写可以使用的步骤吧。

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

打开调试模式,切换到存储,打开cookie,然后右侧红框区域内的所有数据就是cookie信息;

Jmeter接口测试获取Cookies的方法是什么

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

Jmeter接口测试获取Cookies的方法是什么

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

Jmeter接口测试获取Cookies的方法是什么

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

四、个人自己操作实例

Jmeter接口测试获取Cookies的方法是什么

谷歌浏览器打开调试,然后提交登录,获取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的方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Jmeter接口测试获取Cookies的方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Jmeter接口测试获取Cookies的方法是什么

这篇“Jmeter接口测试获取Cookies的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Jmeter接口测试获
2023-07-05

Jmeter压力测试方法是什么

本篇内容主要讲解“Jmeter压力测试方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Jmeter压力测试方法是什么”吧!步骤一 安装Jmeter 我用的版本是3.1版本,为什么
2023-06-21

jmeter获取请求内容的方法是什么

在JMeter中,可以使用以下方法来获取请求内容:1. 使用HTTP信息头管理器(HTTP Header Manager):在测试计划中添加HTTP Header Manager元件,然后在此元件中设置请求的头部信息。这样可以设置请求的Co
2023-09-15

java调用dubbo接口测试的方法是什么

在Java中调用Dubbo接口进行测试有以下几种方法:1. 使用Dubbo提供的测试框架:Dubbo提供了一个Mock框架,可以用于模拟Dubbo服务的调用。使用该框架,可以为接口的每个方法提供一个实现,并通过调用这个实现来测试接口的逻辑。
2023-10-20

postman接口做关联测试的方法是什么

postman接口做关联测试的方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。应用场景假设下一个接口登录需要上一个接口的返回值,例如请求需要先登录获取到token,下一
2023-06-26

python调用接口获取数据的方法是什么

在Python中调用接口获取数据的方法有几种:1. 使用内置的`urllib`或`urllib2`模块进行接口调用。这些模块提供了HTTP请求的基本功能,可以发送HTTP请求并获取返回的数据。示例:```pythonimport urlli
2023-08-29

接口测试的核心概念是什么

本篇内容介绍了“接口测试的核心概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!开发口中的接口是什么?我相信绝大多数测试同学听闻“接口
2023-06-15

Cookie的获取方法是什么

这篇文章主要介绍“Cookie的获取方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Cookie的获取方法是什么”文章能帮助大家解决问题。Cookie:是浏览器提供的一种技术,通过服务器的程
2023-06-26

多线程测试redis连接的方法是什么

多线程测试Redis连接的方法有以下几种:1. 使用线程池:创建一个线程池,每个线程都可以独立地获取Redis连接并执行相应的操作。这种方法可以控制线程数量,避免创建过多的线程造成系统资源的浪费。2. 使用多线程类库:使用多线程类库,如Ja
2023-09-04

多线程测试redis连接的方法是什么

多线程测试Redis连接本文介绍了七种有效的多线程测试Redis连接的方法,包括使用线程池、信号量、JMeter、Locust、ApacheBench和Redis测试工具,以及自定义脚本。这些方法可以帮助您控制并发线程数,防止系统过载,并监控性能指标,如吞吐量、响应时间和错误率。通过遵循这些步骤,您可以确保Redis服务器在高并发环境下提供稳定和高性能的服务。
多线程测试redis连接的方法是什么
2024-04-12

计算机中接口测试指的是什么

这篇文章给大家分享的是有关计算机中接口测试指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试
2023-06-14

mysql获取blob的方法是什么

要从MySQL中获取BLOB字段的值,可以使用SELECT语句来检索数据。以下是一个简单的示例:SELECT blob_field FROM table_name WHERE condition;在这个示例中,blob_field是要检索
mysql获取blob的方法是什么
2024-04-09

redis获取jedis的方法是什么

要获取Jedis实例,可以使用以下方法:1. 创建Jedis实例并连接到Redis服务器:```javaJedis jedis = new Jedis("localhost", 6379);```这将创建一个Jedis实例并连接到本地Red
2023-08-23

shell获取hadoop的方法是什么

要获取Hadoop,您可以按照以下步骤进行操作:下载Hadoop:您可以前往Hadoop的官方网站(https://hadoop.apache.org/)下载最新版本的Hadoop。选择与您的操作系统和需求相匹配的二进制文件。安装Hadoo
2023-10-27

java获取timestamp的方法是什么

在Java中,可以通过以下几种方法来获取当前的时间戳(timestamp):使用System.currentTimeMillis()方法获取当前时间的毫秒数:long timestamp = System.currentTimeMilli
2023-10-24

redis qps测试的方法是什么

RedisQPS测试方法RedisQPS测试评估每秒处理请求的能力。使用Redis命令(PING、INFO),压力测试工具(Redis-benchmark、wrk、siege)或云服务(AmazonElastiCache、GoogleCloudRedis)进行测试。考虑请求类型、数据大小、并发连接数和持续时间。结果包括QPS、响应时间、并发连接数和错误率。遵循最佳实践以确保准确性和可重复性:隔离环境、逐步增加负载、针对不同请求类型进行测试、重复验证和优化配置。
redis qps测试的方法是什么
2024-04-09

redis qps测试的方法是什么

测试Redis的QPS(Queries Per Second)可以通过使用redis-benchmark工具来进行。这个工具是Redis自带的基准测试工具,可以模拟多个客户端同时访问Redis,并计算出每秒处理的请求数量。要进行QPS测试
redis qps测试的方法是什么
2024-04-09

DLedger的Jepsen测试方法是什么

这篇文章主要讲解了“DLedger的Jepsen测试方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DLedger的Jepsen测试方法是什么”吧!分布式系统面临的挑战Is it b
2023-06-05

基于端口的虚拟主机测试方法是什么

基于端口的虚拟主机测试方法是通过使用不同的端口号来模拟多个虚拟主机,在同一台物理主机上运行多个网站。以下是基于端口的虚拟主机测试方法的步骤:1. 配置虚拟主机:在Web服务器(如Apache、Nginx等)的配置文件中,为每个虚拟主机分配一
2023-08-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录