通过线程组元件来了解jmeter的运行机制
今天大年三十了啊,哈哈哈,在这里祝大家新年快乐,来年红红火火。单身狗在家无所事事啊,有跟我一样的嘛。哈哈哈。实现说明我采用的jmeter是***的,具体原因大家懂的。那如何将jemter汉化呢?其实只要修改一下配置文件就可以永久汉化。打开jmeter安装目录打开bin,找到jmeter.properties文件并打开找到language并修改成language=zh_CN,注意这里要去掉前面的注释,末尾不能有空格,点击保存。重启jmeter这样既可汉化成功。
1.测试计划页面:常用按钮定义下图所示。2.线程组元件:常用的线程组为setUp线程组、线程组、tearDown线程组,在jmeter不管我们将他们的顺序如何的调换它始终保持,setup第一,线程组其次(若是在测试计划里没有勾选‘独立运行每个线程组’则所有线程组用时发送,没有先后顺序关系),tearDowm线程组最后执行的顺序。
- setUp线程组:永远都是第一个执行的线程,无需在测试计划里配置。假设我们设计了一个查询功能的脚本,登录系统只需要执行一次,那就可以在该线程组里开发
- 线程组:可以在里面进行循环、设置线程数等操作。在没有特殊要求的场景中,一般选中线程组即可。
- tearDonw线程组:该线程组用户最后的脚本退出。举个例子:我们这次设计的性能脚本中主要考察性能点位查询,在登录使用setup线程组,然后在线程组里循环高并发跑持续时间,最后在teardonw线程组里将所有用户退出登录。做一个闭环操作。
线程组元件中的一些参数介绍。下面我会在具体例子中对参数进行解析。
线程组属性第一个场景:线程数10,一共5秒时间跑完,循环五次。在这样的场景下jmeter会在0.5秒启动一个线程,在这0.5秒钟的时间内启好的线程就会开始循环直到循环五次为止。直接上图这样说明更加有感觉。
当我们将循环次数设置成20次时我们会发现在0.5s内一个线程根本无法循环20次当0.5s到了的时候jmeter会立即启动下一个线程而上一个线程未循环结束的次数会放到后面继续循环,这样实则循环总时间就远远不止5s现在组的循环顺序看着也会有点乱,但这实则对性能场景的执行没有任何影响。调度器配置
- 信息头管理器:用来放置请求头的,可以无限添加,这里不做解释,看后面有无具体项目到时候会演示。
- HTTP Cookie管理器:一般来说它里面是不需要添加任何东西的,但万事无绝对
具体项目具体做。
当我们禁用http cookie管理器时。可以看到请求并没有发出cookie值启用cookie管理器时我们看到,cookie值就传过去了,事先我没有做过任何配置。
- 缓存管理器:用户模拟浏览器的缓存机制,不需要做配置
- http请求默认值:自定义请求默认值供全线程组使用
以上只是简单的让大家了解一下jmeter的工作机制,后面我会结合实战带大家认识jmeter里面各种各样的元件。