从JMeter Cookie管理器开始,轻松掌握接口测试技能!

目录

【前言】

【1. 添加Cookie管理器】

【2. 登录接口获取Cookie】

【3. Cookie关联】

【4. 动态修改Cookie值】

【结论】

【附录】


【前言】

在接口测试中,我们经常需要对Cookie进行处理和关联,来模拟用户在浏览器中的操作。特别是在登录和权限校验等场景下,Cookie的正确处理和关联是非常重要的。

【1. 添加Cookie管理器】

首先我们需要在测试计划中添加Cookie管理器。选择“添加”菜单下的“Config Element”-“HTTP Cookie Manager”即可。

【2. 登录接口获取Cookie】

通常我们需要先登录接口获取Cookie,JMeter可以通过HTTP请求模拟登录操作,并且在正文处理Cookie信息。

下面是一个示例代码:

POST /login HTTP/1.1
Host:www.xxx.com
Content-Type:application/x-www-form-urlencoded
Content-Length:20username=test&password=123456

在该请求中,我们可以在“正文”中添加用户名和密码。当请求成功后,服务器会返回登录用户的Cookie信息。我们需要将该信息保存下来,用于后续的接口测试。

【3. Cookie关联】

在一些需要使用Cookie的接口请求中,我们需要使用之前获取的Cookie信息。这个时候就需要用到JMeter的Cookie关联技巧了。

关联技巧,顾名思义,就是根据前面的请求结果,将相应的信息提取出来,并在后续的请求中使用。关联技巧通常使用正则表达式来实现。

下面是一个示例代码:

GET /userinfo HTTP/1.1
Host:www.xxx.com
Content-Type:application/x-www-form-urlencodedCookie: ${login_cookie}

在该请求中,我们使用了Cookie Manager中保存的Cookie信息,通过${login_cookie}来引用变量。

【4. 动态修改Cookie值】

一些场景下,我们需要在测试过程中更改Cookie的某些值,比如sessionid,来模拟用户在不同场景中的操作。这时候,我们可以使用JMeter的BeanShell或JSR223技术,来动态修改Cookie的值。

下面是一个示例代码:

vars.put("login_cookie", "${COOKIE_JSESSIONID}");
vars.put("new_session_id","abcdefghi");
cookie = vars.get("login_cookie");
index = cookie.indexOf("JSESSIONID");
new_cookie = cookie.subString(0, index+11) +vars.get("new_session_id") + cookie.subString(index+11+36)
vars.put("login_cookie", new_cookie);

在该示例中,我们使用了BeanShell技术,将原来的Cookie信息中的JSESSIONID替换成了随机生成的新值,然后将更新后的Cookie信息放回到变量中。

【结论】

本文介绍了JMeter接口测试中的常用Cookie处理和关联技巧,同时提供了一些针对公司产品的示例代码,希望能为大家的接口测试工作提供帮助。

【附录】

Cookie Manager的常用属性:
1. Clear Cookies每次执行测试前是否清除cookies
2. Cookie Policy指定Cookie的策略
3. Implementation选择Cookie管理器的具体实现方式

Java代码示例:

import java.io.IOException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;public class testhttp {public static void main(String[] args) throws IOException {//获取HttpClient实例CloseableHttpClient httpClient = HttpClients.createDefault();//创建HttpGet请求实例HttpGet httpGet = new HttpGet("https://www.baidu.com");//执行请求并获取服务器响应对象CloseableHttpResponse response = httpClient.execute(httpGet);//打印响应码和响应数据System.out.println(response.getStatusLine().getStatusCode());System.out.println(EntityUtils.toString(response.getEntity()));//关闭资源response.close();httpClient.close();}
}

作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试的必须品,如果你用得到的话可以直接拿走,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可

【测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=rX-rPzfPYeSH_v0uvLvM8rGZzqN7DHNV&authKey=6QTg887e0uLrxKmMkY1wHIrGRCX1Am54wFozK%2BTMSgdSFPauLc2Z44QRoRXUiTLb&noverify=0&group_code=574737577

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/351444.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【CSS 04】Zoro 外边距 外边距合并 内边距 内容高度与宽度 框模型 轮廓

CSS 说在前面外边距 margin外边距合并 margin_collapse内边距 padding高度与宽度 dimension框(盒子)模型 boxmodel轮廓 outline 说在前面 最近发现一个有趣的事情,就是CSDN会把我写在【】中的Zoro当做文章主要技术关键词,尽管我在…

白盒测试、黑盒测试、灰盒测试

根据被测对象的不同,软件测试可以分为白盒测试、黑盒测试、灰盒测试三种方式。那么,这三种测试测试方式具体是如何运行的?各有什么特点?下面,跟着小厚一起了解一下吧! 01 白盒测试 ●概念: ➢…

公司注册公司的经营范围怎么填

现在的公司还真不少,似乎一家企业还是店铺都要加上公司这个名号才会变得高大上一样,而在郑州创立公司少不了要办理这些业务,填写相应的注册经营范围,可能大家这样子听起来觉得简单,但事实上实施起来并不是那么一回事儿…

Neo4j安装配置教程

目录结构 前言Neoj4简介安装JDKNeo4j安装步骤Neo4j下载解压Neo4j压缩包配置环境变量启动Neo4j执行命令报错,报错信息如下: 启动Neo4j,再次测试浏览器访问Neo4j参考链接 前言 安装所需配件网盘一键下载。以下描述中,官网下载均有描…

填万能经营范围模板,避开办理营业执照经营范围的坑

常见行业经营范围模板!来挑挑看吧!(附万能经营范围模板) 注册企业时有没有常常遇到经营范围怎么选?哪些行业是行政许可项目?哪些可以“先照后证”? 现在工商登记对经营范围应该怎么写已经没…

中国十大进口母婴店热销品牌排名前10

根据2020年中国品牌网统计的十大进口母婴品牌排名,由优家宝贝整理后发布。分别是以下十个进口母婴品牌,根据热度进行的名次排行榜。 排在Top1的是贝亲,它创始于1957年,2002年正式进入中国市场,它秉承爱的理念,以“放心、安全、信赖”作为奠定品牌价值的基石。它一直致力于为消费…

服装商标带,店家的品牌标志

服装商标带,店家的品牌标志 服装商标带特征: 1、在商标的制作材料上,选择亲肤性强的棉纺织品作为制作商标的标识的标示块或条,让商标的标识的标示块或条与皮肤接触而不导致皮肤瘙痒; 2、是在商标的标示块、标示条的缝纫的位置上,将商标缝纫在上述服装的袖口、衣领口或衣领的…

营业执照经营范围怎么填写

经营范围局限了企业运营时的经营活动,企业经营不能超过该经营范围,经营范围是我们在注册公司时的必填项目,因此今天快点办小编就来跟你讲讲经营范围的那些事,包括是什么、怎么填写、有哪些经营范围。 1.经营范围是什么&#xff1…

中国童装十大品牌是什么?

中国童装十大品牌是什么? [品牌 童装 市场 服装] 悬赏点数 10 征答截止时间 2009-4-28 下午03:08:59 00 xzerq 2009-4-8 下午03:08:59 172.30.211.* 举报 中国童装十大品牌是什么? 回答 回答 00 u1985 2009-4-8 下午03:09:14 113.132.215.* 举报 中…

海睿思分享 | 主数据如何赋能企业运营管理

在全球范围内,企业正在越来越多地依赖数据进行决策和运营。然而,由于数据量的爆炸式增长以及数据来源的多样化,管理这些数据以获取有效的洞见变得越来越困难。 主数据管理(MDM)作为一种方法和技术,旨在帮助…

实战:Spring Cloud Stream消息驱动框架整合rabbitMq

文章目录 前言Spring Cloud Stream简析Spring Cloud Stream与rabbitmq整合1、添加pom依赖2、application.yml增加mq配置3、定义输入输出信道4、使用输入输出信道收发消息5、模拟正常消息消费6、模拟异常消息 前言 相信很多同学都开发过WEB服务,在WEB服务的开发中一…

分享几个实用又有趣的工具类网站

今天来给大家分享几个众多网友们推荐的,实用又有趣的工具类网站 DeepL翻译:免费的在线翻译网站,大名鼎鼎的翻译神器 DeepL,翻译准确、语句通顺,效果相当好。 https://www.deepl.com/translator BgSub 消除或者替换图…

JavaEE(系列20) -- 网络编程之UDP和TCP套接字

目录 1. 网络编程 2. UDP网络编程 2.1 DatagramSocket API 2.2 DatagramPacket API 2.3 基于UDP实现的回显服务器 2.3.1 UDP服务器设计步骤 2.3.2 服务器代码 2.3.3 客户端代码 2.3.4 基于UDP写一个字典服务器 3. TCP网络编程 3.1 ServerSocketAPI 3.2 SocketAPI …

window专业版激活

1、管理员权限进入命令行 2、安装密钥 slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 3、设置kms服务器 slmgr /skms zh.us.to 4、查看是否激活 slmgr /ato 转载于:https://www.cnblogs.com/Edward-Yue/p/10942884.html

电脑显示未激活Windows的解决办法

今天遇到一个问题,桌面显示要我激活windows,如下图: 那么接下来就分享一下我的解决办法: 一、鼠标右击桌面左下角windows 键,选择Windows PowerShell(管理员),会出现如下页面&#x…

Windows server 2022安装与激活

1.下载 百度网盘下载 链接:https://pan.baidu.com/s/18c5smZPzbk0ClhEYh4LQ2w 提取码:w7i8 2.安装 最近版本新出的镜像官方的 EFI 文件在虚拟机上部署有问题,如发现不能在虚拟机内使用,切换虚拟机配置为 BIOS,而非…

查看已激活Windows的密钥

今天工作之余,过个快乐的周末心情很是不错,然后打开电脑,闲暇之余,突然想到了window密钥的问题,然后就写个文章记录一下Windows如何在命令行查看密钥! 方法一:DOS命令查看:如果你是…

Linux内核日志打印时间开关

echo Y > /sys/module/printk/parameters/time //打开内核日志打印时间 echo N > /sys/module/printk/parameters/time //关闭内核日志打印时间 cat /sys/module/printk/parameters/time //查看内核日志打印时间开关状态 static bool printk_time IS_ENABLED(CONFIG…

在 Windows 10 中如何查看系统的激活状态?

查看激活方法 方法一方法二方法三 升级到 Windows 10 或重新安装 Windows 10 后,可能需要检查 Windows 10 安装是否已激活,那么可以通过以下方法来实现: 方法一 开始按钮->设置(快捷键 Windows I) 点击“更新和…

win 10 系统激活

win10企业版永久激活方法?win10企业版是针对企业用户推出的版本,随着win10系统的不断完善,现在越来越多的人选择升级win10,升级完系统就需要激活它。那么今天就为大家分享一下怎么永久激活win10企业版。 1、右键点击桌面左下角"windows…