用JMeter做自动化,如何获取接口的Cookie值?

2742 篇文章 16 订阅
2687 篇文章 27 订阅
本文介绍了如何在JMeter中使用HTTPCookie管理器来处理登录接口返回的Cookie,从而在后续接口测试中保持登录状态。首先创建测试计划,然后添加用户定义的变量、HTTP请求默认值、HTTP信息头管理器和HTTPCookie管理器。接着,通过HTTP请求执行登录和商品信息接口,并使用正则表达式提取器获取Cookie。最后,添加断言和监听器以验证测试结果。
摘要由CSDN通过智能技术生成

最近在利用JMeter做接口自动化测试工作,实现了很多场景的自动化,想着很多方法具有通用性,于是拿出来分享下,希望对大家有所启发。

今天分享的是场景是:JMeter进行接口测试,两种方法获取登录接口的Cookie值。

HTTPCookie管理器

在JMeter中,HTTPCookie管理器(HTTPCookieManager)用于管理发送和接收的HTTP请求中的Cookie。Cookie是服务器用来在客户端和服务器之间维持会话状态的一种机制,通过在请求和响应中传递Cookie来实现状态的保持。

这次分享的案例就是,在登录后,通过使用HTTPCookie管理器,可以自动处理和发送服务器返回的登录会话Cookie,这样可以确保在后续的请求中保持登录状态,以进行需要登录的操作。

图片

添加一个测试计划

命名为:商品前台接口(测试环境)。

图片

添加配置元件

1、用户定义的变量

主要包括用户名、密码、验证码三个变量。

图片

2、HTTP请求默认值

主要包括协议、服务器名称或IP、端口号、Contentencoding:

图片

3、HTTP信息头管理器

这里可以填Refer、Content-Type等信息:

图片

4、HTTPCookie管理器

可以填Cookie,也可不填,根据实际项目需要:

图片

新建线程组

图片

新建简单控制器

简单控制器对结果没有任何影响,主要是为了使脚本结构清晰,一般一个简单控制器下一个请求:

图片

新建HTTP请求

需要填写方法、路径、请求参数等信息。

填写登录接口的请求信息:

图片

填写获取商品接口的请求信息:

图片

添加断言

登录接口在登录模块已有断言,在这里的断言可加可不加,这里主要是测试查看商品信息接口,所以在查看商品信息接口下加了断言,即返回的status字段为0。

图片

添加监听器

添加查看结果数,可查看请求的返回的信息。

图片

HTTP信息头管理器

HTTP信息头管理器,用于管理发送给服务器的HTTP请求的信息头,信息头包含在HTTP请求中,用于传递与请求相关的元数据和其他附加信息。

例如我们常用的HTTP头信息中,包含如下字段:

  • Content-Type(内容类型):用于指定请求或响应中传输的数据的媒体类型。常用的值包括"application/json"、"application/xml"、"application/x-www-form-urlencoded"等。

  • User-Agent(用户代理):用于标识客户端发起请求的用户代理(浏览器、应用程序等)。例如,"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/91.0.4472.124Safari/537.36"。

  • Authorization(授权):用于在请求中包含认证凭据,以验证用户身份。这可以是基本认证(BasicAuthentication)或其他认证机制,具体取决于服务器的要求。

  • Accept-Language(接受语言):用于指定首选的自然语言,以便服务器返回相应的本地化内容。例如,"en-US,en;q=0.9"表示首选英语(美国),其次是任何英语语言。

  • Referer(引荐页):指定从哪个页面链接跳转到当前页面。有时服务器会检查Referer头以验证请求的来源。

  • Cookie(Cookie):用于在请求中发送已存储在客户端的Cookie信息。可以手动设置Cookie的键值对,以模拟登录状态或其他需要的会话信息。

登录接口返回的ResponseHeaders中包含Cookie信息:

图片

查看商品接口请求头RequestHeaders中需要Cookie信息:

图片

思路就是将登录接口返回的Cookie信息,通过正则表达式提取出来,放在HTTP信息头管理器中的1个变量Cookie中,供其他接口请求时调用。

图片

添加一个测试计划

命名为:商品前台接口(测试环境)。

图片

添加配置元件

1、用户定义的变量

主要包括用户名、密码、验证码三个变量:

图片

2、HTTP请求默认值

主要包括协议、服务器名称或IP、端口号、Contentencoding。

图片

3、HTTP信息头管理器

这里可以填Refer、Content-Type、Cookie等信息。

图片

新建线程组

图片

新建简单控制器

简单控制器对结果没有任何影响,主要是为了使脚本结构清晰,一般一个简单控制器下一个请求。

图片

新建HTTP请求

需要填写方法、路径、请求参数等信息。

填写登录接口的请求信息:

图片

填写获取商品接口的请求信息:

图片

添加后置处理器

即正则表达式提取器,将信息头的Set-Cookie值提取出来,保存在变量${token}中:

图片

查看商品信息接口时,会自动读取信息头管理器的Cookie,进行请求,获取商品信息。

添加断言

登录接口在登录模块已有断言,在这里的断言可加可不加,这里主要是测试查看商品信息接口,所以在查看商品信息接口下加了断言,即返回的status字段为0。

图片

添加监听

添加查看结果数,可查看请求的返回的信息。

图片

这样,一个登录接口就成功完成了。

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值