自动化测试基础 --- Jmeter

前置环境安装

首先我们需要知道如何下载Jmeter

这里贴上下载网站Apache JMeter - Download Apache JMeter

我们直接解压,然后在bin目录下找到jemter.bat即可启动使用

成功打开之后就是这个界面

每次打开可以用这种方式切换成简体中文

或者直接修改properties文件修改对应的语言包

接口测试自动化基础

我们都知道接口测试可以使用postMan或者使用浏览器直接查看数据

那我们为啥使用Jmeter呢?

笔者认为是因为Jmeter可以实现自动化

可以实现循环接口测试  

假设a接口对登录依赖 我们可以提取登录的验证信息以某种形式传给a接口

首先得先添加一个线程组(先使用一个线程)

这里的线程组就可以模拟多个用户访问了

接着我们就可以创建对应的HTTP请求了

为了查看结果,我们得再创建一个查看结果树来进行查看接口返回的结果

我们不妨试一下,请求个api试试

本地写了一个最简单的测试一下结果

如果a对b有依赖关系我们就将b写成一个代码片段 

可以保存下来使用一个include模块控制器即可

我们都知道不同环境都需要测试

开发环境/测试环境/预发布环境/发布环境

不同的环境测试改来改去比较繁琐

我们就可以使用自定义变量

这样我们每次只需要实现对相同变量的修改即可

这也是自动化最基础的应用

对一个接口使用多组数据输入咋办???
无所谓,循环和csv文件导入会出手

对应的txt文件/csv一样

第一行是变量名称,可以在很多地方引用

JSON断言

我们对于返回的结果总要进行一定的验证

这里的验证可以放在csv文件中作为预期结果

当http请求失败后 我们会实现

通常我们可以判断code和对应的message

具体情况具体分析 实现自动化验证

对核心数据都需要测试

使用公共数据咋办,下一个接口对上一个接口有依赖关系

我们直接使用Json提取器提取上一个接口的返回信息

比如登录的token....

Jmeter连接数据库

我们知道开发的信息数据来源一定是数据库

有些时候我们可以直接连接数据库验证信息

比如说我现在要验证1w个用户的登录

这时候使用csv肯定不行啊

或者是抽查某些数据

这时候我们使用JDBC连接数据库

在这里填入mysql的jar包或者是对应的jar包驱动即可

然后我们直接写sql即可

这里获取的数据库变量也是可以直接进行断言的

Jmeter调试

这里可以看到目标结果和实际结果

注:我们不知道数据库会返回对应多少条数据

所以下面设置的变量会变成 变量_1  变量_2.....对应查出来的数据

随机查出一条数据

ORDER BY RAND()  limit 1 

问题

假设我现在需要搞10000条数据来验证咋办?

有人说循环?  多线程??

都不ok 

循环多次访问数据库很容易就造成死锁了

多线程也是不到万不得已不去用的,因为出错概率很高且不好处理

这里就得使用V函数来操作了

使用这样的方式在变量中加入一个子变量

Jmeter 梯度压测

开始的时候使用多少个线程来压测??

不清楚,使用梯度压测性价比更高,逐步加压

这里需要下载对应的jar包解压放到对应的bin目录下

下载地址:Install :: JMeter-Plugins.org

首先我们说说负载测试压力测试和性能测试的区别

首先性能测试包括压力测试和负载测试

负载测试主要就是观察一个系统性能的拐点,第一次也可以做为基准测试的标准

压力测试主要就是给服务器一定的压力(一般在40%以下),进行稳定性测试,持续长时间查看一个系统的稳定程度

主要的指标就是并发数/吞吐量/错误率这样

但是我们如何知道需要引入多少个线程呢

这里梯度压测就登场了

我们只需要查看这个接口需要多少的性能指标 找到对应的性能拐点

同一时间去观察一下此刻的线程数 就可以知道使用多少线程去测试这个接口了

然后我们还可以看汇总报告

一个发送多少个请求以及响应时间  吞吐量  错误率等....

加上这个图就能实现以上功能了

但是别以为这就是压测了

真正的压测是需要知道对应的分析原因的

JVM? mq 缓存  哪里出现了问题 调优才是关键

因为光靠一张图开发也能轻松知道啊

我直接创建几个线程不是轻轻松松

OK本期分享就到这里 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【linux】详解linux基本指令

目录 cat more less head tail 时间 cal find grep zip/unzip tar bc uname –r 关机 小编一共写了两篇linux基本指令,这两篇涵盖了大部分初学者的必备指令,这是第二篇,第一篇详见http://t.csdnimg.cn/HRlVt cat 适合查看小文…

5.神经网络-激活函数

目录 1. 激活函数不是阶跃函数 1.1 激活函数和阶跃函数都是非线性函数 1.2 激活函数不是阶跃函数 2. sigmoid 函数 2.1 sigmoid 函数表达式 2.2 sigmoid 函数 Python 实现 2.4 sigmoid 函数图 3. ReLU 函数 3.1 ReLU 函数表达式 3.2 ReLU 函数 Python 实现 3.4 ReLU…

接口自动化-requests库

requests库是用来发送请求的库,本篇用来讲解requests库的基本使用。 1.安装requests库 pip install requests 2.requests库底层方法的调用逻辑 (1)get / post / put / delete 四种方法底层调用 request方法 注意:data和json都…

边缘计算安全有多重要

德迅云安全研究发现边缘安全是对存储或处理在网络边缘的数据的保护。边缘可以用不同的方式定义,但一般来说,它包括企业直接控制之外的任何设备或位置。这可能包括传感器、连接物联网的设备和移动设备。 边缘计算正在彻底改变商业运作方式。这引发了对边缘…

WordPress原创插件:超链接点击访问统计

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 一般我们都使用第三方统计服务(比如百度统计)来统计网站的访问量,使用此插件可以统计文章的浏览次数,那么,如果想统计网站外…

(规格参考)ADP5360ACBZ-1-R7 电量计 电池管理IC,ADP5072ACBZ 双通道直流开关稳压器,ADL5903ACPZN 射频检测器

1、ADP5360ACBZ-1-R7:具有超低功耗电量计、电池保护功能的先进电池管理PMIC 功能:电池保护 电池化学成份:锂离子/聚合物 电池数:1 故障保护:超温,过压 接口:I2C 工作温度:-40C ~ 85…

生活服务商家拥抱数字化,鸿运果系统加速“服务生意数字化”进程

在数字化转型的大潮中,生活服务商家正积极拥抱变革,以适应新的市场环境和消费者需求。鸿运果系统作为专业的“服务生意”数字化解决方案提供商,正助力商家加速数字化转型,推动行业向智能化、个性化服务转型。 数字化转型的背景 …

人才测评:计划管理能力与岗位胜任力素质测评

计划管理能力指的是什么? 计划管理能力,可以体现为从业者在精准制定好任务,或是根据任务的时间长,困难的程度来设定好完成的目标,一步一个脚印将工作完成好,并且能预估出可能出现的突发事件,将…

AI工具的热门与卓越:揭示AI技术的实际应用和影响

文章目录 每日一句正能量前言常用AI工具创新AI应用个人体验分享后记 每日一句正能量 我们在我们的劳动过程中学习思考,劳动的结果,我们认识了世界的奥妙,于是我们就真正来改变生活了。 前言 随着人工智能(AI)技术的快…

【Linux取经路】进程通信之匿名管道

文章目录 一、进程间通信介绍1.1 进程间通信是什么?1.2 进程间通信的目的1.3 进程通信该如何实现 二、管道2.1 匿名管道2.1.1 站在文件描述符角度深入理解管道2.1.2 接口使用2.1.3 PIPE_BUFFER 和 Pipe capacity2.1.4 管道中的四种情况2.1.5 管道特征总结 2.2 匿名管…

华为、小米、魅族都开始造车了!中国还有多少手机厂家要下场造车?2024如果创业适合干什么?2024最适合创业的细分行业

要说现在中国最火、声量最高的创业是什么?那一定是造车! 小米这样的手机公司在造车、创维这样的电视家电品牌在造车、甚至就连五粮液这样的白酒品牌也在造车!至于其他的还有什么做地产的恒大、做电动车的新日等等,数不数胜。而在手…

如何进行事务处理

1、问题背景 在数据库存储系统中,事务处理是一种保证多个数据库操作作为单个逻辑单元执行的技术。事务处理可以确保数据的一致性、完整性和隔离性。 在使用 Google Cloud Datastore 时,可以使用 datastore.transaction() 函数来进行事务处理。datastor…

DBeaver连接数据库

前言 DBeaver是一款免费和开源的数据库管理工具,为开发人员和数据库管理员提供了一个通用的数据库解决方案。以下是DBeaver的主要特点和功能: 跨平台支持:DBeaver支持Windows、Linux、macOS等主流操作系统,用户可以在不同的平台…

MATLAB公式推导和导出Latex格式的方法

最近在推机械臂正逆运动学公式,那个旋转矩阵乘起来是真滴多,手算算的脑浆疼。突然想起来MATLAB还有符号计算这个功能,于是翻了翻手册, 找到了这个利用MATLAB帮助计算公式并且直接导出Latex格式的办法。 先定义符号变量&#xff0…

我的职场加速器-高效工作从可道云teamOS开始

不论是作为管理者,还是普通打工人,在日常工作中,我们都需要一款既能够保障数据安全,又能够提升团队协作效率的平台。 近期,我体验了可道云teamOS,这款企业级云协作平台给我留下了深刻的印象。 一、极简风…

基于springboot+mybatis+vue的项目实战之前端

步骤: 1、项目准备:新建项目,并删除自带demo程序,修改application.properties. 2、使用Apifox准备好json数据的mock地址 3、编写基于vue的静态页面 4、运行 整个的目录结构如下: 0、项目准备 新建项目&#xff0…

力扣【旋转函数】python

如果直接用暴力的话,只能过4个样例好像,超时 因此得用递推公式 F1F0前n-1个数-(n-1)*第n个数 F0sum(nums)-n*第n个数 nlen(nums) ans[]#定义一个存最大值值的列表 ss sum(nums) dm 0 for j in range(n):dm j * nums[j] ans.append(dm) print(dm) n…

Google IO 2024有哪些看点呢?

有了 24 小时前 OpenAI 用 GPT-4o 带来的炸场之后,今年的 Google I/O 还未开始,似乎就被架在了一个相当尴尬的地位,即使每个人都知道 Google 将发布足够多的新 AI 内容,但有了 GPT-4o 的珠玉在前,即使是 Google 也不得…

应用软件安全保证措施方案书

系统安全保证措施方案—word原件 软件全套资料进主页获取或者本文末个人名片直接获取。

“网络安全新纪元:等保2.0的详细解读与实践”

网络安全等级保护基本要求》(等保2.0)于2019年6月发布,是我国网络安全等级保护制度的一项重要标准。等保2.0主要针对关键信息基础设施的网络安全保护,对数据安全和个人信息保护提出了更高的要求。本文将对等保2.0进行详细解读&…