全网最详细,Jmeter性能测试-性能基础详解,接口关联与编写Java脚本(三)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

接口关联

接口关联是将前面接口的动态数据信息提取出来,作为后面接口的传入参数。
但请注意,如果使用cookie来管理信息时,要使用cookie管理器,而不是使用提取器!

而且在不了解cookie的内容时,不要修改cookie管理器信息任何内容。
保守起见,建议只要使用了登录接口,最好都附带上cookie,不管实际上是否有使用cookie都加上。

JSON提取器

在查看结果树里,可以更改响应内容的格式

请添加图片描述

这里选择json格式之后,响应内容就会显示为json格式

请添加图片描述

在这个的下面有一个输入框,在里面可以输入json的提取式,这里可以测试json的提取式

请添加图片描述

那么回到正题,要把这些数据提取出来给到脚本中使用就需要用到Json提取器。
在线程组右键,添加后置处理器->json提取器

请添加图片描述

使用方法如上图,很简单,在Names of created variables中输入变量名,这个变量名是放到脚本上使用的。然后在JSON Path expressions中填写JSON提取式即可。

另外,由于JSON如果提出多个值,那么它会返回一个列表,此时Match No填与不填会产生不一样的结果。

不填或者为0时,随机从列表中取一个值;
为-1时,会输出列表中的每个值,从1开始,如goods_1、goods_2、goods_3…

请添加图片描述

0时则是取对应下标的值(下标从1开始)

请添加图片描述

最后如果要在一个JSON提取器中填写多个提取式,那必须要填写default Values,每个变量和提取式之间需要用";"区分。

请添加图片描述

请添加图片描述

正则提取器

正则表达式的测试可以在这里测试:https://c.runoob.com/front-end/854
有个万能正则表达式: 左边界(.*?)右边界,但这个表达式不能匹配换行符。

请添加图片描述

如果要提取多个值,可以参考下面这种方式:

正则表达式:“gqid”:“(.?)"(.?)“token”:”(.?)"
这里的正则有3个(.
?)意味着提取的时候会提取到3个值,但实际需要的其实就只有gqid和token,2个值,因此就需要用到模板。

模板: 1 1 1 3 3 3
由于正则有3个(.?),,因此模板这里写 1 1 1 3 3 3意味着是提取第1和第3个(.?)的值

请添加图片描述

而提取结果要使用的话,就不是单纯使用re1,而是要使用re1_g1和re1_g2

请添加图片描述

在Jmeter写java脚本

Beansehll

首先Beanshell是一个小型的、免费的、可嵌入java源解释器。它可以执行java语法和表达式

在Jmeter中,Beanshell能做:
引入自己的jar包,实现增强功能;
写java代码,实现自己的逻辑功能;
跨线程组传值;

在性能测试过程中,请不要使用Beanshell的任何原件,因为它的性能并不好。如果需要些额外的脚本,推荐使用JSR223替代Beanshell。

JSR223

JSR223的使用和Beanshell是一样的,就不多做介绍了,就简单介绍一些示例
另外提一句,JSR223和Beanshell都一样可以直接引用jmeter上的变量,引用方法也是${}

从Redis上获取验证码:

import redis.clients.jedis.Jedis;

Jedis jedis = new Jedis("redis地址", 6379); // redis默认端口是6379
jedis.auth("密码");
String key = String.format("redis上的key")   
String value = jedis.get(key);
vars.put("ver",value)
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生活中总会有风雨,但是我们不能退缩。只要我们心怀希望,坚持不懈地努力奋斗,就一定能够超越自我,创造属于自己的美好未来!

不要轻言放弃,因为你永远不知道明天会给你什么惊喜。坚持梦想的人最终都会成功,只是时间长短而已。珍惜时间,抓住机遇,让自己成为不断进步的人!

只要心中有梦想,就不要停止奋斗的脚步。困难只是暂时的,成功却是永恒的。人生路上或许会跌倒,但只要坚持起身,才能走向辉煌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/12165.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

水塘抽样解决随机选择问题

1.简介 水塘抽样是一系列的随机算法,其目的在于从包含n个项目的集合S中选取k个样本,其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到内存的情况。最常见例子为Jeffrey Vitter在其论文中所提及的算法R。 2.算法步骤&#xff1…

机器学习算法系列(三)

机器学习算法之–对数几率回归(逻辑斯蒂回归)算法 上个算法(算法系列二)介绍了如何使用线性模型进行回归学习,但若要做的是分类任务,则需要找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值…

一次etcd变更引发的惨案

问题描述 在做etcd的数据变更时候,etcd在组成集群的时候出现leader不断切换问题,导致集群不稳定,都面将不健康的etcd节点踢出,只剩etcd单节点,后面将踢出的etcd节点重新加入现有etcd,导致etcd集群奔溃&…

【故障诊断】基于 KPCA 进行降维、故障检测和故障诊断研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

快速搭建第一个SpringCloud程序

目录 1、Spring Boot项目脚手架快速搭建 1.1 生成工程基本配置 1.2 生成工程。 1.3 导入开发工具(此处为Idea) 1.4 运行代码 1.5 验证是否能访问 2、Spring Cloud环境搭建 2.1 版本匹配问题 2.2 Spring Cloud环境测试 3、引入Eureka Server 3…

运行时内存数据区之虚拟机栈——局部变量表

这篇内容十分重要,文字也很多,仔细阅读后,你必定有所收获! 基本内容 与程序计数器一样,Java虚拟机栈(Java Virtual Machine Stack)也是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的线程内存模型&#xf…

【从零开始学Skynet】基础篇(六):MySql数据库安装操作

游戏服务端的另一项重要功能是保存玩家数据,Skynet提供了操作MySQL数据库、MongoDB数据库的模块。1、数据库安装 首先安装Mysql服务器,打开终端输入如下指令: sudo apt-get install mysql-server 按下回车,输入密码后开始安装&a…

项目1实现login登录功能方案设计第三版

需求优化点:MySQL表常用功能模块实现方案index页面home页面需求 实现一个登录功能 实现的功能 注册(邮箱注册)登录(邮箱密码)重置密码查看操作记录(登录, 注册, 重置密码, 登出. 都算操作)登出在第2版的基础上进行优化:\ 优化点: VerificationCode(验证码储存库): 增加时间字段…

青藤首提“业安融合”理念,正式发布先进云安全方案CNAPP

4月18日,以“云时代,安全变了”为主题的2023年云安全高峰论坛在北京举行。会上,青藤首次提出“业安融合”理念,正式发布先进云安全方案CNAPP。 中国全面进入云和数字化时代 当前,全球已进入数字经济时代,…

前端自动化测试之葵花宝典

首先聊一下概念,Web 前端自动化测试是一种通过编写代码来自动化执行 Web 应用程序的测试任务的方法,它通常使用 JavaScript 和测试框架 (如 Selenium、Appium 等) 来实现。 Web 前端自动化测试的优点是可以提高测试效率、减少测试时间和测试成本&#x…

工业机器人远程监控解决方案

一、项目背景 随着我国科技不断进步发展和产业升级的不断进行,现阶段机器人应用在生产制造行业以及运输行业已经变得越来越广泛。工业机器人机构复杂、维护成本高,机器人应用的这一行业现状,对工业机器人生产企业的产品高品质服务能力提出了…

Mac远程控制工具有哪些

适用于Mac的远程控制工具有很多,这里我们给大家列举五个常用软件。 1、Apple Remote Desktop 苹果自带远程桌面正如其名称所承诺的那样。作为 Apple 出品的应用程序,您可以想象它的配置和上手是多么容易。从 App Store 下载 Apple Remote Desktop 后&a…

数据结构初阶(算法的复杂度 + 包装类 + 泛型)

文章目录一、算法复杂度1. 算法效率2. 时间复杂度(1) O的渐进表示法3. 空间复杂度二、包装2.1 为什么会出现包装2.2 分类2.3 装箱和拆箱(1)装箱/装包(2)拆箱/拆箱三、泛型3.1 泛型的基本概念3.2 泛型的使用…

【Elastic (ELK) Stack 实战教程】10、ELK 架构升级-引入消息队列 Redis、Kafka

目录 一、ELK 架构面临的问题 1.1 耦合度过高 1.2 性能瓶颈 二、ELK 对接 Redis 实践 2.1 配置 Redis 2.1.1 安装 Redis 2.1.2 配置 Redis 2.1.3 启动 Redis 2.2 配置 Filebeat 2.3 配置 Logstash 2.4 数据消费 2.5 配置 kibana 三、消息队列基本概述 3.1 什么是…

Spring Cloud Gateway: 网关

文章目录 网关Hello world路由: Route谓词: Predicate过滤器: FilterGateway实现限流: RequestRateLimiter过滤器使用Gateway实现服务降级 自定义全局过滤器GateWay中执行流程 网关 API网关就是实现了前端项目和服务端项目之间的统一入口 Nginx实现的是用户和前端项目之间调用…

Spring AOP

目录 AOP 为什么使用AOP Spring AOP AOP的组成 实现Spring AOP AOP表达式 Spring AOP的实现原理 在介绍Spring AOP之前需要先介绍AOP AOP AOP(面向切面编程)就像我们之前学习的OOP(面向对象编程)它是一种思想,它是对某一类事情的集中处理,比如用户登录的校验,在没学AOP…

BUUCTF-rip

https://www.cnblogs.com/refrain-again/p/15001283.html 看了这个文章 我起码能理解我们栈溢出的目的 在做题之前 我们需要先理解 栈的存储方法 从上往下看 就能理解入栈 说回这道题目 为什么这道题目是栈溢出 1.查看基本信息 checksec file 是kali下的elf文件 相当于w…

场景搭建、素材库、在线标绘等,四维轻云地理空间数据云管理平台新增了这些功能

四维轻云是一款地理空间数据云管理平台,具有地理空间数据在线管理、展示及分享等功能。在四维轻云平台中,用户可以不受时间地点的限制,随时随地管理、查看及分享各类地理空间数据。 为了更好地满足用户需求和进行地理空间数据在线管理&#…

Kafka源码分析之Producer数据发送流程(四)

概述 书接上回的producer发送流程,在准备工作完成后,kafka的producer借助Sender和KafkaClient两大组件完成了数据的发送。其底层封装了java的NIO的组件channle以及selector,对于NIO组件不太熟悉的同学可以自行查询相关文档。 下面我整理了k…

gnome换回纵向切换工作区

效果: 思路 最新的debian / ubuntu中用的gnome 4.x,工作区切换变成了左右切换,习惯了上下,真的很不舒服。 而且优化选项里也把设置开关取消掉了,解决方案是使用Vertical overview这个扩展: ## 安装扩展管…