一、介绍

上一章节,我学习了安装,这节学习创建一个测试计划,把Jmeter运行起来;go  go  go!

 

二、创建一个测试计划

测试计划运行有一系列的步骤,完整的测试计划包含一个或者多个线程组,逻辑控制器,取样发生控制,监听器,定时器,断言和配置元件组成。

步骤:

添加元件

保存计划

停止测试

菜单中有两种类型的停止命令:

  • 停止(Control  +  .)-如果可能,立即停止线程。许多采样器都是可中断的,这意味着可以提前终止活动采样。stop命令将检查所有线程是否已在默认超时(5000 ms = 5秒)内停止。[这可以使用JMeter属性jmeterengine.threadstop.wait进行更改]如果线程尚未停止,则会显示一条消息。可以重试Stop命令,但是如果失败,则必须退出JMeter进行清理。
  • 关机(Control  +  ,)-请求线程在任何当前工作结束时停止。不会中断任何活动样本。模态关闭对话框将保持活动状态,直到所有线程停止。

如果关机时间太长。关闭“关机”对话框,然后选择“运行/停止”,或仅按Control+.

在CLI模式下运行JMeter时,没有菜单,并且JMeter不会对诸如Control + . 之类的组合键作出反应。。因此,JMeter CLI模式将监听特定端口上的命令(默认为4445,请参见JMeter属性jmeterengine.nongui.port)。如果使用默认端口(例如,另一个JMeter实例),JMeter支持自动选择备用端口。在这种情况下,JMeter将尝试下一个更高的端口,直到到达JMeter属性jmeterengine.nongui.maxport)为止,该属性默认为4455。如果maxport小于或等于port,那么将不会进行端口扫描。
所选端口显示在控制台窗口中。
当前支持的命令是:

  • Shutdown -正常关机
  • StopTestNow-立即关闭

可以分别使用shutdown [.cmd|.sh]stoptest [.cmd|.sh]脚本发送这些命令。这些脚本可以在JMeter bin目录中找到。仅当脚本从同一主机运行时,才会接受命令。

作用域规则

错误报告

JMeter将警告和错误报告给jmeter.log文件,以及有关测试运行本身的一些信息。JMeter 在其窗口右端的警告图标(三角形)旁边显示jmeter.log文件中找到的警告/错误数量。单击警告图标以在JMeter窗口的底部显示jmeter.log文件。偶尔可能会有一些错误,JMeter无法捕获和记录;这些将显示在命令控制台上。如果测试不符合您的预期,请检查日志文件,以防报告任何错误(例如,函数调用中的语法错误)。

通常不会在日志文件中报告采样错误(例如HTTP 404-未找到文件)。而是将它们存储为样本结果的属性。样本结果的状态可以在各种不同的监听器中看到。

三、重要知识点:

1、调试测试计划时,才应使用此处所述的GUI模式。要运行实际负载测试,请使用CLI模式。

什么是 CLI 模式

  • CLI = Command Line,命令行模式,我们常说的 NON GUI 模式,无界面模式
  • 真正做负载测试时,应该使用 CLI 模式运行,而不是 GUI

 

启动 Jmeter GUI 时的提示

使用 jmeter.bat 运行时会有一个 cmd 窗口

 

2、重要组件和作用域

Jmeter运行session timeout_测试计划

 

Jmeter运行session timeout_作用域_02

 

Jmeter运行session timeout_虚拟用户_03

 

 

 组件作用域:

Jmeter运行session timeout_测试计划_04

 

 

 

Jmeter运行session timeout_作用域_05

 

 

 四、创建一个实例

 

1、测试计划 (右键-->添加-->Threads(Users)-->线程组)

Jmeter运行session timeout_测试计划_06

 

 2、设置线程数 (所谓线程数就是并发用户数)

①线程数(用户):想要模拟的虚拟用户的数量。

②Ramp-Up Period (in seconds)(虚拟用户增长时长):设置的虚拟用户访问url的时长,是在一个时间同时访问,还是在一段时间持续访问。              

这里引用个例子:

  比如你测试的是一个考勤系统,那么实际用户登录使用考勤系统的时候并不是大家喊1、2、3 - 走起,然后一起登录。实际使用场景可能是9点钟上班,那么从8:30开始,考勤系统会陆陆续续有人开始登录,直到9:10左右,那么如果完全按照用户的使用场景,设计该测试的时候此处应输入40(分钟)* 60(秒)= 2400。但是实际测试一般不会设置如此长的Ramp-Up时间,原因嘛,难道你做一次测试要先等上40分钟做登录操作?一般情况下,可以估计出登录频率最高的时间长度,比如此处可能从8:55到9:00登录的人最多,那这里设置成300秒,如果“线程数”输入为100,则意味着在5分钟内100用户登录完毕。

③循环次数:设置一个虚拟用户循环做多少次测试,默认为1,做完一遍就结束。选中“永远”

Jmeter运行session timeout_虚拟用户_07

运行起来永远不会停止,一直循环,只能手动停止了。

Jmeter运行session timeout_虚拟用户_08

 

 3、新建采样器,添加协议和相关配置

Jmeter运行session timeout_虚拟用户_09

 

Jmeter运行session timeout_作用域_10

 

 

4、给线程添加监听器

 

 

Jmeter运行session timeout_虚拟用户_11

4、查看运行日志

选项》日志查看

Jmeter运行session timeout_测试计划_12

 

 

 

 5、启动运行看结果树

Jmeter运行session timeout_测试计划_13

 

 

 

Jmeter运行session timeout_虚拟用户_14

 

6、保存结果树文件

F:\instool\jmeter\apache-jmeter-5.5\backups\测试计划1${__time(yyyy年MM月dd日-HH时mm分ss秒,time)}.xml

Jmeter运行session timeout_测试计划_15

 

 

7、jmeter工具生成函数

 

 

Jmeter运行session timeout_作用域_16