Jmeter压测学习4--XPath提取器
没有遇到,直接转载:https://www.cnblogs.com/yoyoketang/p/11962553.html
前言
有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面。
并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmiddlewaretoken
场景案例
我这里有个django项目的admin后台页面为案例

输入账号和密码登录成功后,抓包发现除了账号和密码参数,还有一个参数csrfmiddlewaretoken,并且这个参数每次都是动态的,不是固定值

所以在请求这个login接口的时候,需要先获取csrfmiddlewaretoken参数,那么这个参数哪来的呢?
csrfmiddlewaretoken是每次在浏览器上打开登录首页的时候,会自动生成一个隐藏(hidden)的参数csrfmiddlewaretoken

那么接下来就先把这个值提取出来
获取csrfmiddlewaretoken
先访问首页http://127.0.0.1:9000/admin/

保证返回的结果里面能看到csrfmiddlewaretoken对应的值

返回的结果里面有了这个值后,接下来用 XPath 提取器提取出来
XPath 提取器
后置处理器添加 XPath 提取器

使用 xpath 表达式提取html页面数据,先在谷歌浏览器上定位调试,保证能正确定位到

用 XPath 表达式提取

XPath 表达式提取参数说明:
Use Tidy:当需要处理的页面是HTML格式时,必须选中该选项,当需要处理的页面是XML或XHTML格式(例如,RSS返回)时,取消选中该选项。
引用名称:参数的变量名称
XPath query:用于提取值的XPath表达式: //*[@name='csrfmiddlewaretoken']/@value
缺省值:取不到的时候默认值
APPly to:作用范围(返回内容的断言范围)
- Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
- Main sample only:仅作用于父节点的取样器
- Sub-samples only:仅作用于子节点的取样器
- JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
参数关联
登录请求fiddler抓包参数如下

jmeter照着写请求参数就可以了,csrfmiddlewaretoken对应的值使用上面一步提取出来的变量${csrftoken}

添加头部管理器,参数类型为:Content-Type: application/x-www-form-urlencoded

查看结果
查看请求结果,从结果里面可以看出csrfmiddlewaretoken这个值已经传过来了

最后的结果失败403 Forbidden,是因为缺少cookies,无权限访问

Jmeter压测学习4--XPath提取器的更多相关文章
- jmeter压测学习6-HTTP Cookie管理器
前言 web网站的请求大部分都有cookies,jmeter的HTTP Cookie管理器可以很好的管理cookies. 我用的 jmeter5.1 版本,直接加一个HTTP Cookie管理器放到请 ...
- Jmeter压测学习5---HTTP Cookie管理器
我司项目暂时不需要,直接转载:https://www.cnblogs.com/yoyoketang/p/11963342.html 前言 web网站的请求大部分都有cookies,jmeter的HTT ...
- jmeter压测学习5-XPath提取器
前言 有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面. 并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmidd ...
- jmeter压测学习12-设置持续压测时间(调度器的使用)
前言 使用jmeter 做压测的时候,希望对一个接口持续压测 10 分钟或者半小时,可以使用调度器设置持续压测时间. 设置样本总数 压测方式有2种,一种是设置线程组和循环次数,这样可以设置一个样本总数 ...
- Jmeter(六)关联之XPath提取器
如果请求返回的消息为xml或html格式的,可以用XPath提取器来提取需要的数据 以http://www.weather.com.cn/为例: 先新建一个HTTP请求GetCityURL,获取城市天 ...
- jmeter压测学习1-window环境准备与案例
前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketExcep ...
- jmeter压测学习4-正则表达式提取
前言 上一个接口返回的token作为下个接口的入参,除了前面一篇讲到的用json提取器提取,也可以用正则提取. json提取器只能提取json格式的数据,正则可以匹配任意的返回. 我现在有一个登陆接口 ...
- Jmeter压测学习3---通过正则表达式提取token
上一个随笔记录的是用json提取器提取token,这个随笔记录用正则表达式提取token 一.添加正则表达式 登录右击添加->后置处理器->正则表达式提取器 正则提取器参数说明: 要检查的 ...
- jmeter压测学习8-压测带token的接口
前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用 ...
随机推荐
- COM笔记-类厂
CoCreateInstance实际上并没有直接创建COM组件 ,而是创建了一个被称作是类厂的组件.而所需的组件正是由些类厂创建的.类厂组件的唯一功能就创建其他的组件.创建组件的标准接口是IClass ...
- springboot中添加事务注解
1.首先在service层中的方法前添加@Transactional @Service public class UserService { @Autowired private UserMapper ...
- Nacos 服务注册的原理
Nacos 服务注册需要具备的能力: 服务提供者把自己的协议地址注册到Nacos server 服务消费者需要从Nacos Server上去查询服务提供者的地址(根据服务名称) Nacos Serve ...
- input text 只能输入数字 js 正则表达式
$("#txt1").keyup(function () { $(this).val($(this).val().replace(/[^0-9.]/g, '')); }).bind ...
- Jmeter的初体验--安装
准备工作 安装JMeter前需要安装配置好Java 一.安装 1.直接在官网下载安装即可,下载地址:http://jmeter.apache.org/download_jmeter.cgi,(Wind ...
- 如何实现CSS限制字数,超出部份显示省略号
<div style="width:200px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; border:1 ...
- linux 查看用户密码
2021-07-26 1.查看前三个密码 head -3 / etc / passwd # 注解 /etc/passwd 中一行记录对应着一个用户,每行记录又被冒号 (:) 分隔为 7 个字段,其格式 ...
- K8s配置。--未完成
配置K8s ##################################################################################### # 配置 --- ...
- JDK1.8源码(六)——java.util.ArrayList类
ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问,实现了Clonea ...
- noip模拟38
\(\color{white}{\mathbb{深秋总有廖落处,雁归每是菊败时,名之以:残菊}}\) 这场比赛几乎全场都在打暴力,几乎人均切掉的 \(t1\) 没有想到双指针,\(t3\) 的暴力也没 ...