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

news2024/11/15 6:55:30

目录:导读

    • 前言
    • 一、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性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vector - CAPL - CAN x 总线信息获取(续1)

继续.... 目录 OverLoadFrameCount -- 过载帧数量 代码示例 OverLoadFrameRate -- 过载帧速率 代码示例 StandardFrameCount -- 标准帧数量 代码示例 StandardFrameRate -- 标准帧速率 代码示例 StandardRemoteFrameCount -- 标准远程帧数量 代码示例 StandardRemote…

Java注解编译期处理AbstractProcessor详解

文章目录概述注解处理器注解处理流程AbstractProcessorgetSupportedOptions()getSupportedAnnotationTypesgetSupportedSourceVersioninit初始化process 处理方法如何注册注解处理器如何调试编译期代码Maven相关配置(指定生效的Processor)注意事项自定义注解处理器范例范例一&a…

多线程小知识

多线程 多线程环境使用哈希表HashMapHashtableConcurrentHashMap 死锁死锁是什么两者之间的死锁多人之间的死锁 死锁产生的四个必要条件:互斥使用不可抢占请求和保持循环等待 不同的锁ReentrantLockSynchronized和ReentrantLock之间的区别:具体选择Synchronized加锁工作过程偏向…

using namespace std 是什么意思——C++命名空间

目录 namespace命名空间局部域和全局域namespace展开命名空间指定命名空间 命名空间的嵌套不同文件中的同名命名空间 using namespace std 是什么意思 我们先看一段C代码&#xff1a; #include <stdio.h> #include <stdlib.h>int rand 0;int main() {printf(&quo…

6.2 统计量与抽样分布

学习目标&#xff1a; 我的理解: 统计量是从一个样本中计算得到的数值&#xff0c;用于描述样本的某种特征或性质。统计量可以用来推断总体的特征或性质&#xff0c;因为样本是总体的一部分。 通常&#xff0c;统计量是通过对样本中的数据进行计算得到的&#xff0c;例如平均…

3年轻人20万开店日营业额79.2元,年轻人开店还能赚到钱吗?

最近&#xff0c;河南郑州的蔡先生和2个朋友合伙开一家汉堡店&#xff0c;生意很惨淡&#xff0c;日营业额79.2元。 蔡先生表示&#xff0c;他们开店失败的最大原因就是没有做好前期准备工作&#xff0c;产品没有吸引人的特色&#xff0c;导致正式营业后吸引不到客户。 蔡先生用…

Python 实现海康机器人工业相机 MV-CU060-10GM 的实时显示视频流及拍照功能

一、背景介绍 1、最近项目中需要给客户对接海康机器人工业相机 MV-CU060-10GM&#xff1b; 2、客户要求通过部署的管理平台&#xff0c;可以在页面上实现如下功能&#xff1a; 1&#xff09;相机视频流开始预览&#xff1b; 2&#xff09;相机视频流停止预览&#xff1b; 3&am…

三月份跳槽了,历经阿里测开岗4轮面试,不出意外,被刷了...

大多数情况下&#xff0c;测试员的个人技能成长速度&#xff0c;远远大于公司规模或业务的成长速度。所以&#xff0c;跳槽成为了这个行业里最常见的一个词汇。 前几天&#xff0c;我看到有朋友留言说&#xff0c;他在面试阿里的测试开发工程师的时候&#xff0c;灵魂拷问三小…

NIO非阻塞式网络通信实例

一、概述 1、NIO有三大核心部分&#xff1a;Channel(通道)&#xff0c;Buufer(缓存区)&#xff0c;Selector(选择器) Buffer缓存区 缓冲区本质上是一块可以写入数据&#xff0c;然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象&#xff0c;并提供了 一组方法&am…

❤Linux文件、目录与磁盘格式总结❤

文章目录 Linux文件、目录与磁盘格式总结Linux文件权限chgrpchmodchown文件种类Linux文件扩展名 Linux文件与目录管理常用的目录解释目录树绝对路径与相对路径cd(切换目录)pwd(显示当前目录)mkdir(建立一个新目录)rmdir(删除空目录)执行文件路径变量$PATHls(文件与目录的查看)c…

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

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

物联感知产品如何助力企业实现智能化转型?

如果您的企业想要实现设备全生命周期管理、设备信息管理、设备监控和数据处理等功能&#xff0c;想要进行智能化数字转型&#xff0c;不妨了解一下物联感知。 物联感知产品是利用物联网技术&#xff0c;实现对物理世界的感知、联接和智能化。物联感知产品一般由四个部分组成&a…

python中的pyc文件了解一下?

基本说明 pyc 文件是 Python 编译过的字节码文件。当你运行一个 Python 程序时&#xff0c;Python 解释器首先将源代码&#xff08;通常是 .py 文件&#xff09;编译成字节码。这个字节码是一种低级的、与平台无关的代码&#xff0c;它可以被 Python 虚拟机&#xff08;Python…

TCP的连接管理机制(三次握手与四次挥手)

目录为啥要三次握手与四次挥手三次握手syn 与 ack三次握手具体流程四次挥手注意为啥要三次握手与四次挥手 相比于UDP, TCP是有连接的, 这个连接就体现在这了. 三次握手就是TCP建立连接, 四次挥手就是TCP断开连接. 三次握手 握手是指通信双方进行网络交互. 三次握手就相当于…

记录上传文件异常 /tmp/tomcat... (No space left on device)

一&#xff0c;问题描述 用postman调用上传接口&#xff0c;基本每两次调用会有一次报错&#xff0c;如下 {"timestamp": "2023-04-11T03:00:15.4690000","status": 500,"error": "Internal Server Error","exceptio…

【活动】想对大学的自己说……

写在前面&#xff1a; 时间过得真的很快&#xff0c;眨眼间我们已经走过了这么多年的大学时光。回想起来&#xff0c;我们曾经有过无数的欢笑和泪水&#xff0c;有过无数的成功和挫败&#xff0c;但是这些经历都让我们变得更加坚强和成熟。如果现在有机会回到大学时光&#xff…

【LInux】进程间通信 -- 匿名管道

前言 我们在学习进程管理&#xff0c;进程替换时&#xff0c;都强调了进程的独立性&#xff0c;那进程间通信是什么&#xff1f;这好像和进程的独立性相矛盾吧&#xff1f; 那么今天&#xff0c;我们就来学习进程间通信&#xff0c;和第一种通信方式 – 管道 文章目录 前言一. …

高效管理 Linux 进程:如何后台执行程序、查看进程、终止任务

目录 前言一、nohup命令详解1-1、nohup命令介绍1-2、语法格式1-2-1、基础语法介绍1-2-2、执行脚本文件1-2-3、执行python文件1-2-4、拓展延申&#xff1a;在服务器上运行后台进程1-2-5、nohup和&的区别 二、进程查看2-1、jobs命令&#xff08;基本不用&#xff09;2-2、ps命…

Android进阶宝典—在Compose中跳转Fragment

使用场景 我们原有的项目中基本采用的是单Activity架构&#xff0c;页面之间的跳转都是通过Navigation进行的&#xff0c;举个简单的例子。 在这种单Activity架构模式下&#xff0c;有一天我们想把MainActivity或者BFragment使用Compose重构&#xff0c;这个时候我们就需要去…

PasteSpider软件优势介绍

PasteSpider采用.netcore编写&#xff0c;运行于linux服务器的docker/podman里面&#xff0c;涉及的技术或者工具有podman/docker,registry,nginx,top,ssh,git,svn等。 PasteSpider可以更好的为你执行服务的升级和维护工作。支持集群模式安装&#xff0c;也支持单例模式运行。…