• 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

      执行测试:

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

  • 相关阅读:
    "无法在证书存储区中找到清单签名证书"的解决办法
    ASP.net从服务器端向客户端弹出alert对话框,但不使页面变成白板
    C#日期相关操作
    在Lucene.net实现自定义排序
    做技术二十多年 突然明白的道理
    .net中sql防止注入式攻击
    开发可统计单词个数的Android驱动程序(1)
    乐博Android客户端(新浪微博)1.01发布,欢迎各位童鞋试用
    百度面试题:求绝对值最小的数
    赶紧升级到Android 2.3.4,体验最新的Android技术
  • 原文地址:https://www.cnblogs.com/qin-shi-wei/p/13089205.html
Copyright © 2020-2023  润新知