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. IDEA使用教程+JRebel破解

    下载与安装 https://www.jetbrains.com 不装任何插件 破解码 K03CHKJCFT-eyJsaWNlbnNlSWQiOiJLMDNDSEtKQ0ZUIiwibGljZW5zZW ...

  2. 软件测试2021:第一次作业——热身练习(Bug)

    案例一: 问题说明:在大学生服务外包创新创业大赛的注册页面填写密码的时候只有偶数位的密码可以通过验证,而基数位的密码不可以 原因分析:在密码验证的时候多加了一条验证,使得基数位的密码不能都通过验证 案 ...

  3. Intel® QAT加速卡之同步异步模式

    QAT 的两种操作模式 Intel QAT API同时支持同步和异步两种操作模式. 为了获得最佳性能,该应用程序应能够向加速引擎提交多个未完成的请求. 提交多个未完成的请求可最大程度地减少加速引擎上的 ...

  4. Request请求对象

    一.Request对象由服务器创建,我们使用 浏览器访问服务器资源原理: 二.Request体系结构 其中,servlet 的service()方法参数列表是 servletRequest对象, Ht ...

  5. 铺路、建路、指路:联想ISG给出一份全新的智能化“路书”

    新基建,新服务,新智能:联想给出的"高质量"方案 昨天,第七届联想创新科技大会(Lenovo Tech World 2021)正式召开.每年通过这个大会,各行各业不仅可以了解联想最 ...

  6. Windows Phone 页面之间参数传递方法

    目前对WP7开发正在研究,对页面之间参数传递进行了一个小总结,有不正确的地方,欢迎大家指正.. WP7编程采用的技术是Silverlight,页面之间参数传递的方式主要有 通过NavigationCo ...

  7. [Navicat15 试用期过期解决办法]

    Navicat15 试用期过期解决办法 第一步:关闭Navicat 第二步: 打开注册表编辑器,win + R, 输入regedit 第三步: 在最上方搜索框输入HKEY_CURRENT_USER\S ...

  8. mysql将语句写入表中

    使用create table语句即可 CREATE TABLE membertmp (select a.* from member as a where a.phone <> '' and ...

  9. php后台解决跨域

    protected function _initalize() { header("content-type:text/html;charset=utf-8"); header(& ...

  10. Java基础系列(24)- 增强for循环

    增强for循环 这里我们先只是见一面,做个了解,之后数组部分会重点使用 Java5引入了一种主要用于数组或集合的增强型for循环 Java增强for循环语法格式如下 for(声明语句:表达式){ // ...