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——Auth模块(用户认证模块)

    1.Auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象. 而有了auth模块之后就可以很轻松的去验证用 ...

  2. openswan协商流程之(一):main_outI1()

    主模式第一包:main_outI1() 1. 序言 main_outI1()作为主模式主动发起连接请求的核心处理函数,我们可以通过学习该函数的处理流程来探究openswan中报文封装的基本思想.如果之 ...

  3. Abp Vnext3 vue-admin-template(二用户退出)

    先修改用户退出,中午有点困先改简单的 退出代码在src\layout\components\Navbar.vue代码如下,讲流程这里不需要修改 methods: { toggleSideBar() { ...

  4. ysoserial CommonsColletions3分析(1)

    CC3的利用链在JDK8u71版本以后是无法使用的,具体还是由于AnnotationInvocationHandler的readobject进行了改写. 而CC3目前有两条主流的利用链,利用Trans ...

  5. Linux上安装服务器监视工具,名为pyDash。

    pyDash – A Web Based Linux Performance Monitoring Tool 你可以通过以下命令来判断是否已安装: pip --version # Python2.x ...

  6. 在树莓派用C#+Winform实现传感器监测

    最近学校里发了个任务,说要做一个科技节小发明,然后我就掏出我的树莓派准备大干一场. 调料 Raspberry Pi 3B+ 树莓派GPIO扩展板 3.5寸电容触摸屏(GPIO接口) 土壤湿度传感器(G ...

  7. Groovy系列(2)- Groovy与Java的不同之处

    Groovy与Java的不同之处 默认 imports 所有这些包和类都是默认导入的,不必使用显式import语句来使用它们 java.io.* java.lang.* java.math.BigDe ...

  8. JDK1.8源码(三)——java.lang.String类

    一.概述 1.介绍 String是一个final类,不可被继承,代表不可变的字符序列,是一个类类型的变量.Java程序中的所有字符串字面量(如"abc")都作为此类的实例实现,&q ...

  9. PHP 相对路径转换为绝对路径 realpath

    * 相对路径 -> 绝对路径 realpath <?php /** * @param string $in_rel: relative directory * @param string ...

  10. Jenkins启动配置

    http://172.17.0.1:8081/