JMeret常规操作

 Jmeter的作用

  1. 接口测试
  2. 性能测试
  3. 压力测试
  4. Web自动化测试
  5. 数据库测试
  6. JAVA程序测试

1.1. 线程组是什么

进程: 一个正在执行的程序对应一个进程

线程: 一个进程有多个执行线程

线程组: 按照线程性质对线程分组

三者关系: 一个进程有多个线程组,一个线程组有多个线程

 

测试计划—线程组—线程组属性中的线程数

 

并发执行:多个线程同时执行,特点:执行结束的顺序与开始的顺序不一致

顺序执行:按照线程的启动顺序挨个执行

默认情况下,线程组中的线程是并发执行

每一个线程都要执行组内的http请求

设置线程组顺序执行:勾选测试计划中的(独立运行每个线程组)

 

线程组用来模拟用户的并发访问

 Jmeter主要组件介绍

1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。

2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。

3、取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTP 、ftp请求等等。

4、监听器:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。

6、断言:用于来判断请求响应的结果是否如用户所期望,是否正确。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

7、定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。

5、逻辑控制器:允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

8. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

9. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

添加HTTP接口测试               

  我们的所以工具都会在Jmeter工具中完成,接来就按照一般步骤来创建一个HTTP接口测试。

  如上图,右键点击“测试计划”-->“添加”-->“Threads(Users)”-->“线程组”。

  如上图,设置线程组,线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。

  线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

  准备时长: 设置的虚拟用户数全部启动的时长。如果线程数为20 ,准备时长为10(秒) ,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。

  循环次数:每个线程发送请求的个数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

  因为这里要做接口测试,所以各个参数为均1。 

  

  如上图,右键点击“线程组”-->“添加”-->“Sampler”-->“HTTP请求”。

  名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

  注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

  服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

  端口号:目标服务器的端口号,默认值为80 。

  协议:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。

  方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

  Content encoding :内容的编码方式,默认值为iso8859

  路径:目标URL路径(不包括服务器地址和端口)

  自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

  Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。

  Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。

  同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

 

  如上图,右键点击“线程组”-->“添加”-->“监听器”-->“察看结果树”。

 

 

 

二、添加新的POST请求               

  POST请求的添加方式与前面GET请求一样。不过POST请求需要设置参数。

  服务器名称或IP: 127.0.0.1

  端口号:8000

  方法:POST

  路径:/polls/question_vote/

  同请求一起发送参数:

  点击“添加”按钮,添加POST请求的参数。

名称:

qid

1

cid

1

  执行测试:

  选择菜单栏“运行”-->“清除”,或者点击工具栏清除按钮。然后重新执行启动测试。并查看结果树。

 

posted @ 2020-06-10 21:29  IRYl  阅读(473)  评论(0编辑  收藏  举报