以jmeter登录接口为例,就下面的这个登录页面

  • 在测试之前,我们输入用户和密码先手动登录下,看看有那些网络信息,使用fiddler抓包

  • 登录发送的是这个请求,我们看下使用什么方式,以及用到那些参数

看下图,可以看到是POST发送方式,以及包含N多cookies

  • 在下图可以看到有5个参数
  1. Csrf_test_name:这个参数的请求值可以看到和cookies里面的csrf_cookie_name值一样,这样我们就可以从cookies中获取该参数的值
  2. Username:用户名
  3. Password:密码
  4. Auto_login:请求值为1,我们先不管这个是干嘛的,到时候我们也填1
  5. Login_submit:请求值为1,我们先不管这个是干嘛的,到时候我们也填1

  • 看下响应结果,是json类型数据,可以看到username被返回,也包含一些其它的字段信息,这里的某些信息就可以用作响应断言

好了,接下来使用jmeter来测试了,引用cookies,这也是这次分享的重点

 要确保jmeter.properties(这个文件在安装目录的bin目录下),文件里面的设置项CookieManager.save.cookies=true

  • 可以从测试计划中添加线程组,这里我定义跑100个

  • 添加HTTP Cookie管理器,默认就行不用设置
  • 添加HTTP请求,该请求是为了获取cookies

  • 添加登录接口,也是HTTP请求,注意下图标红的,就是引用cookies里面的值${COOKIE_cookie名称}

添加请求参数

  1. csrf_test_name ${COOKIE_cookie名称}
  2. username 用户名
  3. password 密码
  4. auto_login 默认设置1
  5. login_submit 默认设置1

  • 响应文本,我这里判断响应文中有我的用户名就行,具体定义可以自己设

  • 我这里只看登录接口的结果,所以我把查看结果树和聚合报告位置都放到了登录接口下面

  • 看响应时间,跑100个简直是无关痛痒,这里只是演示下,引用cookies登录的例子

jmeter引用cookies进行登录实战的更多相关文章

  1. jmeter之cookies登录

    现在很多网站的登录都要验证码了,验证码的值是动态的,值不易获取.使用jmeter测试一个需要登录的接口就有困难,这时候,我们就可以使用cookies管理器来记住这个登录信息. 目录 1.jmeter的 ...

  2. 基于CAS的单点登录实战(2)-- 搭建cas的php客户端

    在这之前已经搭好了CAS服务端 基于CAS的单点登录实战(1)-- 搭建cas服务器 PHP-Client php-Client是官方支持的,去官网下个最新版就好了.phpCAS 接入很简单,解压放到 ...

  3. Jmeter引用外部jar包的几种方法

    总结记录下jmeter引用外部jar包的3种方法及其优缺点: 一.测试计划中添加目录或jar包到Classpath 操作:测试计划->添加目录或jar包到Classpath-->浏览导入j ...

  4. jmeter之-非GUI模式&登录实战

    1.执行测试脚本 jmeter -n -t JMeter分布式测试示例.jmx 2.指定结果文件及日志路径 jmeter -n -t JMeter分布式测试示例.jmx -l report\01-re ...

  5. jmeter获取cookies

    使用场景:登录后,后续的请求操作需获取到JSESSIONID才可进行 1.将jmeter的bin目录下的jmeter.properties文件中的CookieManager.save.cookies= ...

  6. jmeter跳过验证码登录配置:通过手动添加 Cookie 跳过带验证码的登录接口

    目录 一.基本配置 二.HTTP请求默认值 三.HTTP信息头管理器 四.HTTP Cookie管理器 五.线程组下接口设置 一.基本配置 二.HTTP请求默认值 (1)jmeter的设置: (2)设 ...

  7. JMeter学习-004-WEB脚本入门实战

    此文为 JMeter 入门实战实例.我是 JMeter 初学菜鸟一个,因而此文适合 JMeter 初学者参阅.同时,因本人知识有限,若文中存在不足的地方,敬请大神不吝指正,非常感谢! 闲话少述,话归正 ...

  8. Python模拟登录实战(一)

    今天,学习了模拟登录新浪微博.模拟登录主要有两种方式,一.利用Cookie:二.模仿浏览器的请求,发送表单. 法一: Cookie:指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密 ...

  9. 利用cookies获取登录后的网页

    众所周知,HTTP连接是无状态的,那么问题来了,怎么记录用户的登录信息呢?通常的做法是用户第一次发送HTTP请求时,在HTTP Server端生成一个SessionID,SessionID会对应每个会 ...

随机推荐

  1. Python全栈工程师(for、列表)

    ParisGabriel     Python 入门基础         for:用来遍历可迭代对象的数据元素可迭代对象是指以此获取数据元素的对象可迭代对象包括:字符串 str 列表 list元组 t ...

  2. PHP连接mysql数据库进行增删改查--修稿数据

    <?php $id = $_GET['id']; $db = new Mysqli("localhost","root","root" ...

  3. 基于eclipse+maven创建web工程

    Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...

  4. zoj 1508 Intervals (差分约束)

    Intervals Time Limit: 10 Seconds      Memory Limit: 32768 KB You are given n closed, integer interva ...

  5. P3141 [USACO16FEB]围栏Fenced In_Platinum

    题目描述 Farmer John has realized that many of his cows are strangely agoraphobic (being fearful of larg ...

  6. spring in action学习笔记十六:配置数据源的几种方式

    第一种方式:JNDI的方式. 用xml配置的方式的代码如下: 1 <jee:jndi-lookup jndi-name="/jdbc/spittrDS" resource-r ...

  7. swiper伸缩侧边菜单栏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. a标签打电话

    <a href="tel:0147-88469258"></a> <a href="mailto:bd@pangxiekeji.com&qu ...

  9. 插件安装:包管理器——Package Control

    首先,按CTRL+`,打开控制台   粘贴下面的代码,之后回车 如果是sublime3 ? 1 import urllib.request,os,hashlib; h = '7183a2d3e96f1 ...

  10. InnoDB的多版本并发控制(MMVC)

    InnoDB的MVCC之(乐观锁),是通过在每行记录保存两个隐藏列来实现的.这两个列,一个是存创建时间,一个是删除时间,这里的时间指的是,系统版本号,并不是真正的时间值. 每开始一个新的事务,系统版本 ...