jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)

时间:2024-05-19 07:57:17

一、使用jmeter 编写脚本的基本流程

1.创建测试计划。

其实,当我们打开jmeter 的时候,jmeter 会自动给我们添加一个‘测试计划’,如下图所示。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)

① 刚进入jmeter时,就自动创建好的。

②这里我们给测试计划取个名字,注意要做到见名知意,更改后按 Ctrl+S保存,保存后,这个测试计划才算创建成功。

要记住这个保存路径,因为以后我们可能还会用到。

③jmeter在多个线程执行时,默认是并发执行的,勾选此选项后,就会将执行方式由并发执行改为顺序执行。关于多线程、并发执行、顺序执行的概念,不明白的童鞋请自行百度,这里就不做展开介绍了。
2.创建线程组。
1)如下图所示,右击左侧窗口中我们刚创建好的测试计划,依次在子菜单中选择“添加”—>“Threads(Users)”—>“线程组”。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)
2)执行完步骤1),就会出现下面的页面,我们依次来介绍图中标注的位置。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)

线程组名称:给线程组取个名字,同样要做到见名知意,好让我们在后面使用此脚本的时候能够明白这个脚本是干嘛用的,更改后记得保存。
线程属性

  • 线程数:指定执行此脚本需要执行的线程个数 n,如果此当前线程组中有多个 Sampler(采样器)时,会执行n。
  • Ramp-upperiod(in seconds):设置n个线程在某时间区间内完成启动。
  • 循环次数:设置当前线程组循环执行的次数。
  • 注意:
    • 三个线程循环1次和一个线程循环三次虽然执行结果一样,但底层实现是不一样的。
    • 测试时,一般会通过指定线程数来模拟用户量。

调度器

  • 持续时间:设置当前线程组在这段时间内一直执行。注意:如果设置了循环次数(假设为n),如果这个时间设置的比当前线程组执行n次耗费的时间长的话,就无法持续这么长的时间,而是在执行n次之后就停止,如果比执行n次耗费的时间短,那么时间一到,也会终止执行,而不是执行n次。所以,一般情况下,我们都会设置循环次数为【永远】,即勾选循环次数后面的【永远】复选框,好让这段时间走完。
  • 启动延迟:设置当前线程组在这段时间之后再启动。
  • 启动时间|结束时间:这两个属性是设置当前线程组执行的起止时间,当前线程组只会在这段时间里执行。
  • 强调一下
    • 要使用【调度器】,必须把调度器打开,就是选中【调度器】前面的复选框,否则,下面【调度器的配置】中的选项是无法输入的。
    • 【持续时间】|【延迟时间】两个属性不建议和【启动时间】|【结束时间】两个属性同时设置,可以把它们看做两个属性组,如果同时设置了,那么jmeter会默认按照【持续时间】|【延迟时间】的设置执行当前线程组。

3.创建请求

1)和创建线程组的步骤相似,右键左侧窗口中我们创建的线程组,依次点击“添加”—>“Sampler”—>“HTTP请求”即可。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)
2)执行完步骤1),会出现下面的页面,我们依次来介绍标注的位置。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)
①给当前请求取个名字,同样要做到见名知意。
②设置 HTTP请求的 IP地址(或域名)和端口号。

  • 服务器名称或 IP:设置域名时不要添加“http://”或“https://”等协议头,这些内容是要在后面单独设置的。
  • 端口号: API文档中一般会给出,如果没有,找后台开发人员要就好。

③设置 HTTP 请求的协议、提交方式、编码集。

  • 协议: http/https/ftp等协议
  • 方法: HTTP 请求传递数据时使用的提交方式,GET、POST、PUT、DELETE等
  • Content encoding:编码格式,一般使用 utf-8

路径:URL 中域名后面的部分,以“/”开头,根据需要看是否要以“/”结尾。
Body Data: post 请求时,传递的数据。

4.添加查看响应结果的组件
1)右键【测试计划】,依次点击【添加】—>【监听器】—>【查看结果树】即可。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)
2)执行完上述步骤,我们会看到左侧窗口中出现了【查看结果树】组件。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)
如图所示,最后请求的执行结果会显示在图中红色框标注的位置。
5**执行测试计划**
点击工具栏中的启动(绿色侧三角)按钮,即可执行测试计划。点击清除(扫帚)按钮,可以讲执行结果清除。
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)

二、下面是一个小例子:
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)
jmeter 初体验之编写简单的脚本(以发送 HTTP 请求为例)