返回顶部
首页 > 资讯 > 后端开发 > Python >关于Jmeter接口测试实战-Cookies
  • 731
分享到

关于Jmeter接口测试实战-Cookies

Jmeter接口测试Jmeter接口测试实战Jmeter接口测试Cookies 2023-03-14 11:03:51 731人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录场景实战一、jmeter的Http cookies管理器使用二、jmeter的http cookies管理器使用三、jmeter直接用cookie管理器保存登录后的cookie信

场景

接口测试时常都需要登录,请求方式(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中查找信息

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

  • username
  • SESSION
  • SERVERID

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

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

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

  • 1. http cookie manager(推荐)
  • 2. http 信息管理器

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

然后把原先用自定义变量里的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 录制脚本

2 修改cookie管理器,如果没有域名切换的话,可以不用自己配置的

1)使用开发者工具,或者firefox的firebug插件获取cookie信息。建议使用firebug这个配置和jmeter几乎一样。据说可以直接导入到jmeter,但是我没有导入成功,就自己配置了。

下面是开发者工具所看到的cookie信息

并不是所有的都需要配置发送到服务器。我的只配置了sf_session就ok了

域就是服务器的ip

这样后面发送的所有请求都会自带上这个cookie信息。

这里面的cookie可以通过正则表达式进行提起,设置成变量

二、jmeter的http cookies管理器使用

Cookie管理器,会默认把服务端返回的cookie数据记录下来

步骤:

1 先添加http cookie管理器,这时jmeter就会自动记录下服务端返回的cookie信息

由于数据是保存在cookie里面,没法通过正则表达式去提取

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

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的截图

提取成功图片:

  • 前置bs没有cookie值
  • 后置的bs有了cookie值

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

最近遇到的问题是,登录需要验证码,验证码每次都变且无规律,所以录制登录接口就没办法录制了。

于是就想着能不能直接在cookie管理器中保存我登录后的信息,其他接口直接调用这个参数呢?经过试验,有的系统可以,有的不可以,不可以的还没找到原因和解决办法,先写可以使用的步骤吧。

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

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

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

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

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

四、个人自己操作实例

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

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

 3、添加响应断言 

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

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

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

下面是增加权限的截图: 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 关于Jmeter接口测试实战-Cookies

本文链接: https://lsjlt.com/news/199733.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 关于Jmeter接口测试实战-Cookies
    目录场景实战一、jmeter的http cookies管理器使用二、jmeter的http cookies管理器使用三、jmeter直接用cookie管理器保存登录后的cookie信...
    99+
    2023-03-14
    Jmeter接口测试 Jmeter接口测试实战 Jmeter接口测试Cookies
  • Jmeter接口测试获取Cookies的方法是什么
    这篇“Jmeter接口测试获取Cookies的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Jmeter接口测试获...
    99+
    2023-07-05
  • jmeter接口怎么测试
    这篇文章主要介绍“jmeter接口怎么测试”,在日常操作中,相信很多人在jmeter接口怎么测试问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jmeter接口怎么测试”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-21
  • Python接口测试实战1(下)- 接口
    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 ...
    99+
    2023-01-30
    接口 实战 测试
  • 使用Jmeter进行http接口测试的实践
    目录前言:一、开发接口测试案例的整体方案:二、接口自动化适用场景:三、接口测试环境准备四、创建工程:前言:   本文主要针对http接口进行测试,使用Jmeter工具实现。   Jm...
    99+
    2024-04-02
  • 关于python实现requests接口测试的问题
    requests接口测试的介绍 requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的...
    99+
    2024-04-02
  • jmeter接口测试教程及接口测试流程详解(全网仅有)
    目录一、Jmeter简介二、Jmeter安装三、设置Jmeter语言为中文环境四、Jmeter主要元件五、Jmeter元件的作用域和执行顺序六、Jmeter进行接口测试流程七、Jme...
    99+
    2024-04-02
  • Postman自动化接口测试实战
    目录背景描述创建一个GET请求在pre-request scripts构建签名脚本写在环境变量中postman console的用法Collection Runner 自动化API测...
    99+
    2024-04-02
  • jmeter接口测试流程是怎样的
    这篇文章主要介绍“jmeter接口测试流程是怎样的”,在日常操作中,相信很多人在jmeter接口测试流程是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jmeter接口测试流程是怎样的”的疑惑有所帮助!...
    99+
    2023-06-21
  • 〖Python接口自动化测试实战篇④〗- 接口自动化测试详解
    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订...
    99+
    2023-09-04
    自动化 python自动化测试实战 自动化测试 接口测试 接口自动化测试
  • 如何使用Jmeter进行http接口测试
    这篇文章给大家介绍如何使用Jmeter进行http接口测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言:  主要针对http接口进行测试,使用Jmeter工具实现。  Jmter工具设计之初是用于做性能测试的,它...
    99+
    2023-06-21
  • 使用JMeter进行接口高并发测试的实现
    目录官网启动操作步骤一般的网络接口测试,功能性测试postman较为好用,需要测试高并发的情况下,可以用Jmeter来进行测试,postman是串行,而Jmeter可以多线程并行测试...
    99+
    2024-04-02
  • 软件测试-接口测试-代码实现接口测试
    文章目录 1.request 1.1 request介绍 1.2 发送get请求 1.3 发送set请求 1.4 其...
    99+
    2023-09-06
    php json
  • Python接口自动化浅析登录接口测试实战
    目录1、什么是接口?那么,接口测试和功能测试的区别在哪呢?2、如何开展接口测试?3、如何设计接口用例?1.获取接口文档Fiddler2.分析接口文档的接口,提取测试点3.接口测试用例...
    99+
    2024-04-02
  • 用于测试的 golang 接口
    php小编草莓为您介绍一款用于测试的golang接口。在软件开发过程中,测试是不可或缺的环节,而这款接口则提供了便捷的测试功能。通过该接口,开发人员可以快速检验代码的正确性和稳定性,提...
    99+
    2024-02-09
  • Jmeter的接口测试详细步骤并实现业务闭环
    目录一、首先是了解Jmeter接口测试用到的组件二、详细流程一、首先是了解Jmeter接口测试用到的组件 1、测试计划:Jmeter的起点和容器2、线程组:代表一定的虚拟用户3、取样...
    99+
    2024-04-02
  • 基于Python的接口测试框架实例
    背景 最近公司在做消息推送,那么自然就会产生很多接口,测试的过程中需要调用接口,我就突然觉得是不是可以自己写一个测试框架? 说干就干,由于现有的接口测试工具Jmeter、SoupUI等学习周期有点长,干脆自...
    99+
    2022-06-04
    框架 实例 接口
  • 全网最全最细的jmeter接口测试教程以及接口测试流程(入门教程)
    目录一、Jmeter简介二、Jmeter安装三、设置Jmeter语言为中文环境四、Jmeter主要元件五、Jmeter元件的作用域和执行顺序六、Jmeter进行接口测试流程七、Jme...
    99+
    2024-04-02
  • Python+Requests+PyTest+Excel+Allure 接口自动化测试实战
    Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Pyth...
    99+
    2023-02-23
    Python Requests PyTest Excel Allure 接口自动化
  • Jmeter基于JDBC请求实现MySQL数据库测试
    理论知识部分: 一、简单总结几点数据库测试点: 检查接口返回的数据是否与预期一致 传递数据类型错误时能否处理,比如数据类型要求是整数,传递小数时能否处理 接口参数的边界值 接口处理数据的时间 接口的安全性 二、Jem...
    99+
    2022-05-19
    Jmeter JDBC请求 MySQL 数据库 测试
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作