使用JMeter进行简单的压力测试实战

测试脚本文件预览

在这里插入图片描述

新建测试计划

1、设置setUp线程组,用来一次获取用户token,方便之后HTTP请求使用

setUp线程组运行于所有线程组前面,再设置执行一次,用来进行获取token等操作就特别方便

HTTP信息头可以用来设置token,cookie等比较方便,放在HTTP下面就是只作用与这个请求,放在线程组下面就是作用于这个线程组下面所有的HTTP请求

HTTP请求默认值用来统一配置所有HTTP请求的协议,端口,域名等比较方便

2、登录-fbi,用来获取fbi的token,后面要拿这个fbi的token来登录作业管理系统

该填的填上
在这里插入图片描述
用JSON提取器提取登录作业管理系统需要的参数
在这里插入图片描述

3、登录作业管理系统,获取用户的token值

  • HTTP请求,正常填写,请求体参数通过 ${} 引用前面JSON提取器提取的变量值
  • JSON提取器,用来提取登录作业管理系统获取的用户的token值
  • 用BeanShell后置处理程序配合 setProperty函数将token值升级为全局变量,方便跨线程组的变量引用
${__setProperty(token,${access_token},)}

4、创建调试取样器,查看结果树,汇总报告

  • 调试取样器可以用来看一些变量值
  • 查看结果树,来看请求报文,响应报文等信息
  • 汇总报告,观察性能

5、创建用来压测的线程组

线程组的简单介绍

【线程数】: 设置发送请求的用户数。

【在采样器错误后要执行的动作】: 表示,当一个测试计划里有多个线程组或者一个线程组里有多个采样器,当一个采样器执行出错后,接下来的处理,如果不是有特别的场景要求,默认是继续就可以。

【Ramp-Up Period(in seconds)】: 创建完所有线程的时间,防止对服务器有太大的负载。

如果选择了10个线程,并且ramp-up period是10秒,那么JMeter将使用10秒加载10个线程,也就是平均1秒加载一个虚拟用户。

启动并运行。每个线程将在前一个线程启动后1秒后启动。如果将此设置为0,

则表示10个用户同时并发,也就是所有线程在统一时间启动。Ramp-up需要足够长的时间来避免在开始测试时产生太大的负荷,并且有足够短的时间使最后一个线程在第一个线程结束之前运行。

【循环次数】: 线程组的每个线程数请求的重复次数。如果次数设置为1,那么JMeter只执行测试计划一次,如果设置成永远,线程组里的线程会一直在执行。

【调度器】: 调度器是用来执行一些特殊场景,勾选了调度器,就可以设置线程运行的【持续时间】和【启动延迟】项。

【持续时间】: 测试计划持续时间。

【启动延迟】: 测试计划延迟启动时间。

6、配置线程组

在这里插入图片描述

7、配置信息头管理器

  • ${__property(token,)} 就是用户的token(上面新建的全局变量)
    在这里插入图片描述

8、 配置HTTP请求-新建作业票(用来压测的接口)

填写要测的接口信息,参数准备好(可以扩展csv)

9、配置响应断言

在这里插入图片描述
apply to:是应用范围,设定匹配的范围

Main sample and sub-samples:匹配范围为当前父取样器,及子取样器

Main sample only :仅当前父取样器

Sub samples only:仅子取样器

JMeter Variable:变量值进行匹配

要测试的响应文字:针对响应数据不同部分进行匹配

(1)响应文本:响应服务器返回的文本内容,http协议排除header部分

(2)响应代码:匹配响应代码,比如http请求中‘200’代表成功

(3)响应信息:匹配响应信息,处理成功返回‘成功’或者“ok”字样

(4)Response Header:匹配响应头中的信息

匹配规则:

包括:响应内容包括需要匹配的内容就算成功

匹配:响应内容要完全匹配匹配内容,不区分大小写

equals:完全相等,区分大小写

substring:响应内容包括匹配内容即为成功。

可以通过添加断言结果来查看断言的执行情况。

执行结果:

如果接口响应数据可以与断言匹配上,则测试用例通过,否则不通过

可以通过断言结果,查看断言执行情况。

10、创建查看结果树和聚合报告

在这里插入图片描述
聚合报告参数:
时间单位都是毫秒,1秒等于1000毫秒
平均值:平均响应时间,所有请求的平均响应时间。
中位数:50%的用户响应时间不超过这个值。
99% Line: 99%的用户响应时间不超过这个值(因为最慢的几个数据没有什么参考价值)。
Error%:异常百分比。(错误请求的数量/请求的总数)
Throughput:吞吐量,默认情况下每秒完成的请求数。
Received KB / sec:接收数据。

11、非GUI运行测试脚本,生成测试报告

在这里插入图片描述

jmeter -n -t 百度搜索.jmx -l report.jtl -e -o report
  • -t后跟的是脚本的名称,如果脚本不在当前目录下,可以在加绝对路径执行
  • -l是生成jtl文件可以导入到jmeter界面模式的聚合报告查看
  • -o后跟的是生成测试报告的文件夹。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
进行JMeter压力测试实战之前,首先需要安装JDK和JMeter。安装JDK可以从Java官网下载,并配置好Java环境变量。安装JMeter可以从官网下载,下载地址是http://jmeter.apache.org/download_jmeter.cgi。安装完成后,就可以开始进行实战了。 在JMeter中,有一些重要的组件需要了解。首先是取样器,它用于进行脚本逻辑控制。然后是线程组,用于设置场景。最后是监视器,用于监控脚本运行并获取性能指标。 在进行脚本录制时,有两种方式可以选择。第一种是使用badboy进行录制,可以按照业务流程进行录制,并将录制的内容制作成脚本进行性能测试。第二种是使用代理方式进行录制,需要在JMeter中设置代理服务器,并在浏览器中进行相应的设置。 以上就是进行JMeter压力测试实战的基本步骤和要点。通过对JMeter的学习和实践,可以更好地进行压力测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [jmeter压力测试课程入门到实战视频.rar](https://download.csdn.net/download/qq_23930765/77958588)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Jmeter压力测试实战](https://blog.csdn.net/weixin_45674822/article/details/106731747)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值