第十节 JMeter基础-初级购物车【接口关联-鉴权】
声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改。
背景:商城购物车可以添加数据,也可以删除数据。
思路:
- 登录后添加购物车,加入成功后查看购物车列表。
- 购物车列表,随机删除,或者指定删除(需要特殊指定,例如购物车ID)。
- 全部删除:依次读取购物车列表并删除。
1.认识JMeter
没有新增知识,巩固复习之前的知识点。
2.【HTTP请求默认值】
养成习惯。后面【登录】【加入购物车】【查看购物车列表】【购物车随机删除】【购物车所有删除】都要用到,所以提取出来只要设置一次,不需要在5个接口处修改。
3.【登录】
新增【登录】,设置【JSON断言】,设置【JSON提取器】获取token值。
4.【加入购物车】
加入购物车只有商品id跟数量两个参数,可以直接添加参数。不需要使用【消息体数据】,也就不需要再设置【HTTP信息头管理器】,当然也别忘了【JSON断言】。
5.【查看购物车列表】
新增【查看购物车列表】请求时,只需要接口参数,再无其它参数。设置【JSON断言】,设置【JSON提取器】获取购物车列表ID,随机获取购物车ID。
6.【购物车随机删除】
新增【购物车随机删除】请求时,除了删除接口参数,还需要新增购物车ID参数,指定删除获取到的随机ID。
可以先执行后查看结果树:
7.【购物车循环删除】
前端页面可以通过勾选全选,然后点击删除,实现删除购物车列表。但是后端接口实现是通过获取到前端勾选的所有购物车ID,然后再依次删除,最后给前端返回执行成功。
(1)获取全部购物车ID
【购物车随机删除】后,可以新增【查看购物车列表】,获取到剩余的全部购物车ID。
(2)依次删除购物车ID
获取全部购物车ID后,可以通过【调试取样器】依次打印出全部购物车,然后再通过【循环控制器】依次删除。
【调试取样器】依次打印出的所有购物车id是:
变量名_序号 = 值
变量名_matchNr = 总数
又到了熟悉的环节:先设置【循环控制器】控制删除的次数,再设置【计数器】保存变量名后面的序号,最后设置【购物车循环删除】请求时,参数设置需要先通过 __V() 函数来拼接,再通过 ${} 方法获取到参数值。
(3)全部删除后查询
8.【查看结果树】
执行后【查看结果树】最后查看所有流程执行结果。
第十节 JMeter基础-初级购物车【接口关联-鉴权】的更多相关文章
- jmeter测试wordpress使用base64进行鉴权
1.下载插件 对密码进行加密 2.安装插件 3.使用插件 4.使用base64对上面获取到的密码进行二次加密 echo -n "用户:密码" | base64 将以上命令键入lin ...
- 接口的鉴权&响应数据解密
前言: 1.开放的接口为了避免被别人攻击,频繁刷接口,浪费服务器资源,这就涉及到签名(Signature)加密了 2.API 使用签名方法(Signature)对接口进行鉴权(Authenticati ...
- YAPI接口自动鉴权功能部署详解
安装准备 以下操作,默认要求自己部署过yapi,最好是部署过yapi二次开发环境. 无论是选择在线安装或者是本地安装,都需要安装client工具. 1.yapi-cli:npm install yap ...
- Spring Security 接口认证鉴权入门实践指南
目录 前言 SpringBoot 示例 SpringBoot pom.xml SpringBoot application.yml SpringBoot IndexController SpringB ...
- 接口的鉴权cookie、session和token
1.HTTP是无状态协议 什么是无状态?就是说这一次的请求和上一次的请求是没有任何关系的,无法共享信息.好处就是速度快. 2.cookie.session的加入 HTTP请求是无状态的,所以解决共享信 ...
- EasyNVR摄像机网页H5全平台无插件直播流媒体播放服务二次开发之接口鉴权示例讲解
背景需求 EasyNVR的使用者应该都清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以 ...
- 接口鉴权之sign签名校验与JWT验证
需求描述: 项目里的几个Webapi接口需要进行鉴权,同接口可被小程序或网页调用,小程序里没有用户登录的概念,网页里有用户登录的概念,对于调用方来源是小程序的情况下进行放权,其他情况下需要有身份验证. ...
- 风炫安全web安全学习第三十节课 命令执行&代码执行基础
风炫安全web安全学习第三十节课 命令执行&代码执行基础 代码执行&命令执行 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 ...
- 『动善时』JMeter基础 — 36、JMeter接口关联【正则表达式提取器】
目录 1.正则表达式提取器介绍 2.正则表达式提取器界面详解 3.正则表达式提取器的使用 (1)测试计划内包含的元件 (2)请求一界面内容 (3)正则表达式提取器界面内容 (4)请求二界面内容 (5) ...
- 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车
阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...
随机推荐
- 我对IdentityServer4的初步了解
官网:https://identityserver4.readthedocs.io/en/latest/quickstarts/2_interactive_aspnetcore.html 官网例子:h ...
- Django——基于forms组件和ajax的注册功能
path('register/',views.register) #注册的form表单 from django import forms from django.forms import widget ...
- Newtonsoft.Json解决中文编码问题
Newtonsoft.Json解决中文编码 默认Newtonsoft.Json序列化对象后,返回的中文未进行编码. 需要将编码转换的话,需要 1 2 3 4 5 6 7 var json = Json ...
- ElasticSearch性能原理拆解
逐层拆分ElasticSearch的概念 Cluster:集群,Es是一个可以横向扩展的检索引擎(部分时候当作存储数据库使用),一个Es集群由一个唯一的名字标识,默认为"elasticsea ...
- LeetCode 208. Implement Trie (Prefix Tree) 实现 Trie (前缀树)(C++/Java)
题目: Implement a trie with insert, search, and startsWith methods. Example: Trie trie = new Trie(); t ...
- vue2 混入 (mixin) 带来的小惊喜
最近在review自己写的代码时发现,在很多的地方都用了以下的代码块 1 async initCode() { 2 const resSource = await this.$API.syscode. ...
- AWS Ubuntu22.04安装Mysql及配置远程连接、SCP上传文件
一.升级apt资源包 sudo apt update 二.安装MySQL sudo apt install mysql-server 三.启动MySQL服务 sudo service mysql st ...
- 订单号规则,不能重复。redis去重 redis集合set应用
订单号规则,不能重复.redis去重 redis集合set应用 redis锁定商品解决并发售卖问题 RedisUtil工具类https://www.cnblogs.com/oktokeep/p/179 ...
- Docker镜像下载慢/失败?Linux代理使用不便?想在无Docker环境下载镜像?试试我这款开源项目吧
我要在这里放一段代码块 // 这是一段防爬代码块,我不介意被文章被爬取,但请注明出处 console.log("作者官网:https://www.hanzhe.site"); co ...
- lovelive - μ's
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` lovelive - μ's 日期:2017-12-16 ...