1、基础知识:

JMeter是免费开源的,纯java开发的性能测试工具,可以测试静态和动态的资源,例如:静态文件、java服务小程序、CGI脚本、java对象、数据库、FTP服务器、邮件服务器和PerlScript等

JMeter能够对应程序做功能测试和回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果,JMeter运行使用正则表达式来创建断言。

JMeter只需要java环境,本身不需要安装,运行JMeter之前需要先在机器上安装对应的JDK,安装完JDK之后需要配置环境变量

2、JMeter中的组件:

线程组:是用来设置性能测试的运行场景。(所有的常见请求相关组件必须是在线程组下面才能创建,不能直接在测试计划下面创建请求)

取样器错误后要执⾏的动作:这部分可以理解为当客户端向服务端发送请求后,以及发送请求的过程中出错后的异常处理⽅式。

    继续:如果有⼀个请求错误,其他的请求会继续,不会因为有⼀个请求错误的导致其他请求终⽌。

       启动下⼀个进程循环:如果请求出现问题,同⼀脚本中的其他请求就都不再执⾏,直接执⾏下⼀个进程的信息。如登录后下⼀个请求是查看个⼈主⻚,但是因为登录出错,下⼀个接

⼝查看个⼈主⻚就不会被执⾏。

    停⽌线程:停⽌线程指的是如果请求失败,就停⽌当前线程执⾏,不再继续执⾏。如果线程数很多的,那么导致的结果是停⽌的线程就会很多,处于真正运⾏的线程会很少,最后导致

服务器的负载不够,⼀般不建议构选改选项。

    停⽌测试:如果请求失败,那么停⽌所有线程执⾏,也就是说停⽌整个测试。

    ⽴即停⽌测试:如果请求失败,⽴即停⽌整个测试场景的执⾏。

线程属性:

    线程数:⼀个线程可以理解为对应模拟⼀个⽤户,所以线程数越多,那么也就认为可以模拟的⽤户数越多。

    Ramp-Up时间(秒):该属性指的是所有线程从启动到开始运⾏的时间间隔,单位是秒,也就是说所有线程在多⻓时间内开始执⾏,如线程数设置100,设置的时间为50秒,那么计算的

公式为:

        每秒执⾏线程数=线程数/Ramp-Up

        #如设置的线程数为100,Ramp-up的时间为50,那么也就是说开启执⾏后,每秒会启动2个线程,如果Ramp-Up设置为0,那么开始执⾏后,100个线程会⽴刻启动

    循环次数:循环次数可以理解为,请求的重复次数。如果选择“永远”,那么请求将⼀直进⾏,不建议这样操作。

    延迟创建线程直到需要:如50个线程数,Ramp-Up时间是10秒,执⾏后线程是全部就绪的,那么就是每隔1秒启动5个线程。

    调度器:思维调度器可以理解为设置何时开始运⾏。

    持续时间:测试计划持续多⻓时间 启动延迟 从当前时间延迟多⻓时间开始运⾏测试,也就是说点击执⾏后,仅仅是做初始化的场景,不会执⾏测试,等待延迟 到达后开始运⾏测试,执

⾏的时间为持续时间设置的时间。

取样器:就是发送请求的配置元件的选项,里面包含了常见的请求类型(HTTP/FTP文件/JDBC (java连接数据库)/SMTP邮件)

HTTP请求:就是常见的HTTP协议的请求元件

监听器:用来查看请求结果的一些元件(查看结果树)

    聚合报告:是以表格的形式来显示取样器的结果信息,如果不同的取样器拥有相同的名字,那么在聚合报告会显示在 ⼀⾏⾥⾯,那么⼀般来说,聚合报告都是根据取样器来显示每个取样

器的执⾏结果信息。聚合报告的信息具体如下:

     响应时间图:

断言:就是对脚本进行断言的

逻辑控制器:就是用来控制脚本运行逻辑的

前置处理器:就是在请求发送之前对请求进行处理

后置处理器:就是在请求之后对响应进行处理

定时器:设置思考时间的一些元件

配置元件:就是对请求做一些配置处理的元件,如:cookie管理、请求默认值等等

    HTTP请求默认值:就是将线程组下面请求的重复参数放到请求默认值中,后续所有请求就不需要重复实现该参数设置, 会默认从该元件中获取所有参数值(将大家一样的部分分离出来,

相当于page层)。

    HTTP Cookie管理器:jmeter不会自动关联cookie,需要添加cookie管理器来关联cookie。

非测试元件:

    HTTP代理服务器:用来录制脚本,要打开浏览器的服务代理器,但是不太可靠。(脚本录制BlazeMeter谷歌插件)

jmeter生成html文件测试报告:

先在jmeter安装的路径下找到bin目录下的jmeter.properties,用记事本打开该文件

修改如下:

在cmd中进入到jmeter安装的文件夹下面的tests中,运行jmeter -n -t script/ApiTest.jmx -l apiTest.jtl  -e -o performReport/命令后将会生成index.html测试报告;

    -n : 非GUI 模式执行JMeter

    -t : 执行测试文件所在的 位置

    -l : 指定生成测试结果的保存文件, jtl 文件格式

    -e : 测试结束后,生成测试报告

    -o : 指定测试报告的存放位置

查看生成的报告结果:

打开index.html

jmeter基础功能及认识的更多相关文章

  1. jmeter 基础功能详解

    jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...

  2. Jmeter基础之---jmeter基础概念

    Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...

  3. JMeter基础之--元件的作用域与执行顺序

    前面有介绍过jmeter的元件类别,对于新手来说,jmeter的元件是还是不少的,如果我们按照每一个元件的每一个参数的含义去学习,无疑会降低学习性能测试的热情,就算我们熟悉了所有元件以及元件上的参数了 ...

  4. JMeter基础之一 一个简单的性能测试

    JMeter基础之一 一个简单的性能测试 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢.这一节创建一个简单的测试计划来使用这些元件.该计划对应的测试需求. 1)测 ...

  5. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)

    (前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...

  6. 谷歌Chrome浏览器开发者工具的基础功能

    上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工具中最有用的面板Sources.Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要 ...

  7. Netsharp快速入门(之16) Netsharp基础功能(权限管理)

    第5章     Netsharp基础功能 5.1     权限配置 5.1.1  功能权限 1.配置权限功能点,打开平台工具-基础业务-操作管理 2.选择资源节点为销售订单,点添加常用操作,添加完成后 ...

  8. 李洪强iOS开发之-环信03_集成 SDK 基础功能

    李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...

  9. Jmeter常用功能详解

    嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅

随机推荐

  1. Django——cookie保持登录

    普通登录时,无法保持登录的状态,每一次请求时都需要重新登录. 而在登录时,生成cookie并保存在浏览器中,这样每次登录就会携带登录信息,就可以保持登录状态了. 操作cookie语法: # (1) 设 ...

  2. K8S最小硬件配置

  3. Python__requests模块的基本使用

    1 - 安装和导入 pip install requests import requests 2 - requsts的请求方法 requests.get('https://www.baidu.com/ ...

  4. 20210819 Emotional Flutter,Medium Counting,Huge Counting,字符消除2

    考场 T1 一下想到了这题,将白块缩短 \(s\) 后维护类似的区间即可. T2 T3 俩计数,直接跳了. T4 的可行 \(t\) 集合相同相当与从 \(n\) 往前跳 kmp 数组,途径点相同,从 ...

  5. Python - 通过PyYaml库操作YAML文件

    PyYaml简单介绍 Python的PyYAML模块是Python的YAML解析器和生成器 它有个版本分水岭,就是5.1 读取YAML5.1之前的读取方法 def read_yaml(self, pa ...

  6. Java学习笔记--面对对象OOP

    面向对象编程 OOP 面向对象&面向过程 面向对象编程的本质:以类的方式组织代码,以对象的方法组织数据 面向对象编程的三大特征: 封装 继承 多态 方法 静态方法 通过 static 关键词说 ...

  7. 支持Cron表达式、间隔时间的工具(TaskScheduler)

    后台任务如何支持间隔时间.Cron表达式两种方式? 分享一个项目TaskScheduler,这是我从Furion项目中拷出来的 源码:https://gitee.com/dot-net-core/ta ...

  8. 羽夏看Win系统内核——环境搭建

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  9. PHP的Hash信息摘要扩展框架

    今天我们主要学习的是 PHP 中一些 Hash 散列加密相关的扩展函数的使用,而不是 Hash 算法,这种加密其实也只是一种更复杂一些的密钥算法,与 Hash 算法类似的是,我们输入的一串字符串,就像 ...

  10. TP6出现错误 No input file specified.

    解决办法是打开public下的.htaccess文件, 把:RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 改为:RewriteRule ^(.*)$ index ...