JMeter的使用,傻瓜式学习【上】

目录

前言

1、JMeter元件及基本使用作用域(简述)

1.1、基本元件

1.2、作用域的原则

1.3、元件执行顺序

3、JMeter三个重要组件

3.1、线程组

案例:

3.2、HTTP请求

3.3、查看结果树

响应体中,中文乱码解决方案: 


前言

        没有安装的伙伴,可以先看看,这篇博客:http://t.csdnimg.cn/eYMDr


1、JMeter元件及基本使用作用域(简述)

1.1、基本元件

基本元件有哪些?

        我们进入后JMeter后,可以看到如下页面:

JMeter的使用,傻瓜式学习【上】_第1张图片

        我们选中测试计划这个这一栏,可以进行重命名,不过重点不在这里,是我们要知道哪些是JMeter的原件,我们选中测试计划这一栏,右键选择添加一个线程组:

JMeter的使用,傻瓜式学习【上】_第2张图片

右键选择添加一个线程组:

JMeter的使用,傻瓜式学习【上】_第3张图片

下面的红框中,也是JMeter的元件~ 

JMeter的使用,傻瓜式学习【上】_第4张图片

       

各个元件的简单理解:

  1. Sampler:取样器。就是发送什么请求,例如http请求等,调用get、post方法发送请求
  2. 逻辑控制器:例如包含一些逻辑运算等
  3. 前置处理器:对请求参数化进行复制
  4. 后置处理器:提取响应中特定字段的值
  5. 断言:对提取出来的值与预期结果进行对比
  6. 定时器:例如控制循环发送请求的时间
  7. 配置元件:进行初始化测试数据
  8. 监听器:在控制台查看脚本运行的结果

        看完上述的说明,可能还是有些懵,没关系,下面我们来一起继续学习,带着大家做一些案例,就会明白啦~ 

元件与组件有什么关系?

  • 元件:多个类似功能组件的容器,可以当做是一个类
  • 组件:容器中实现独立的某个功能,可以看做是一个方法
  • 类中可以有多个方法

所以我们可以看到:

JMeter的使用,傻瓜式学习【上】_第5张图片

1.2、作用域的原则

  1. 取样器:核心,没有作用域
  2. 逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用
  3. 其他元件:如果是某个取样器的子节点,则该元件只对其父节点起作用;如果其父节点不是取样器,则其作用域是该元件父节点下的其他节点所有后代节点(包括子节点、子节点的子节点等)

        这里的第三点,我们就可以理解为,如果你是一个其他元件,而你的爸爸是取样器,那么你就可以管着你爸;如果说你爸爸不是取样器,那么你就可以管着你的新兄弟姐妹,以及你的兄弟姐妹的后代

1.3、元件执行顺序

        在同一个作用域下(怎么看他们在在不在同一个作用域:同目录/级别/缩进)的不同元件的执行顺序:配置元件-前置处理程序-定时器-取样器-后置处理程序-断言-监听器

        在同一个作用域的相同元件的执行顺序:从上到下一次执行

案例:

JMeter的使用,傻瓜式学习【上】_第6张图片

上述的执行顺序?

正解:定时器1- 请求 - 定时器1 - 定时器2 - 请求2


3、JMeter三个重要组件

3.1、线程组

什么是线程组?

JMeter中的线程组就是用于执行测试的一组用户

JMeter的使用,傻瓜式学习【上】_第7张图片

而这里的线程数,也就是我们所模拟的用户个数~

线程组的分类:

JMeter的使用,傻瓜式学习【上】_第8张图片

  1. Setup线程组:预测试操作,所有脚本之前执行
  2. Teardown线程组:测试后 操作,所有脚本之后执行
  3. 普通线程组:执行测试用例,可以有1个或者多个(并行 / 串行)

线程组的属性说明:

JMeter的使用,傻瓜式学习【上】_第9张图片

思考,以下场景:

  • 模拟10个用户并行执行
  • 模拟10个用户5s内启动完成
  • 模拟2个用户各循环3次
  • 模拟2个用户运行30s
  • 模拟2个用户等待10s后开始执行

这些,场景都可以设置出来,就算是理解了这一块~ 

案例:

以下有两个场景:

  • 配置200个线程数,循环次数为300
  • 配置300个线程数,循环次数为200

实操:

 访问百度为例:

添加以下组件:

JMeter的使用,傻瓜式学习【上】_第10张图片

添加位置:

  •  线程组:选中测试计划 - JMeter的使用,傻瓜式学习【上】_第11张图片
  • http请求:选中线程组 - JMeter的使用,傻瓜式学习【上】_第12张图片
  • 察看结果树:选中测试计划 -  JMeter的使用,傻瓜式学习【上】_第13张图片

线程组1的设置:

就不用200、300了,运行时间有点长,我们使用20、30:

JMeter的使用,傻瓜式学习【上】_第14张图片 

请求1的设置:

JMeter的使用,傻瓜式学习【上】_第15张图片

线程组2的设置:

JMeter的使用,傻瓜式学习【上】_第16张图片

请求2的设置:

JMeter的使用,傻瓜式学习【上】_第17张图片

运行所有:

JMeter的使用,傻瓜式学习【上】_第18张图片 

运行指定的线程组:

JMeter的使用,傻瓜式学习【上】_第19张图片 

 运行线程组,运行时间:

JMeter的使用,傻瓜式学习【上】_第20张图片

 点击察看结果树,可看到结果:

JMeter的使用,傻瓜式学习【上】_第21张图片

点击这里,可清空查看结果树中的数据:

JMeter的使用,傻瓜式学习【上】_第22张图片

分析这两个的区别:

  •  线程数代表虚拟用户数,用户数越多,负载越大【例如,多个用户给服务器的压力比一个用户给的压力要大吧】
  •  循环次数代表总的运行时间,次数越多,运行时间越长【运行多次的时间要比运行一次的时间长吧】

3.2、HTTP请求

该组件的作用:

        向服务器发送http及https请求

位置:

上述的案例中已经说了:选中线程组-右键-添加-取样器-http请求

参数说明:

JMeter的使用,傻瓜式学习【上】_第23张图片

3.3、查看结果树

JMeter的使用,傻瓜式学习【上】_第24张图片

        上述,翻译成中文,想必大家都能理解,就不解释了,下面我们主要来说一下,如何处理,响应体中,中文乱码的问题:

响应体中,中文乱码解决方案: 

JMeter的安装路径下,找到bin目录---打开jmeter.properties文件,修改配置:

修改前:

JMeter的使用,傻瓜式学习【上】_第25张图片

修改后:

JMeter的使用,傻瓜式学习【上】_第26张图片

重启JMeter就可以啦~~~

你可能感兴趣的:(测试,jmeter)