Jmeter系列之简介与环境安装


在此之前,从零开始带大家搭建Python接口自动化框架,可能没有代码基础的小伙伴一脸懵逼。本着负责任的态度,更重要的是,让大家掌握多种自动化框架,以便面试的时候拿(吹)高(牛)薪(逼)。接下来,带大家从零开始学习Jmeter,你懂的,我们一直都会认真的写干货。


以下,主要介绍Jmeter简介、环境安装及接口实战。




Jmeter简介

1
Jmeter介绍

JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等等。


JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能


另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。Jmeter主要对应用程序做功能测试、压力测试、接口测试、性能测试。


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


2

Jmeter特点

  • 开源免费,基于Java编写,可集成到其他系统,可拓展各个功能插件

  • 支持接口测试,压力测试等多种功能支持录制回放,入门简单;

  • 相较于自己编写框架或其他开源工具,有较为完善的UI界面,便于接口调试;

  • 多平台支持,可在Linux,Windows,Mac上运行;

  • 轻量级,和其他测试工具相比更加灵活性;


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

3

Jmeter支持的测试场景

  • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …);

  • SOAP / REST Webservices;

  • FTP;

  • 通过JDBC连接数据库支持各种数据库);

  • LDAP;

  • 通过JMS的面向消息的中间件(MOM);

  • 邮箱协议 - SMTP(S), POP3(S) and IMAP(S);

  • 本机命令或Shell脚本;

  • TCP;

  • Java Objects;



4

Jmeter工作原理

Jmeter可以作为web服务器与浏览器或者手机App应用的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,Jmeter就可以通过线程来模拟真实用户对web服务器的访问压力,这与LoadRunner的工作原理基本一致。


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


5

Jmeter和Loadrunner的区别

开发语言不同:

  • LoadRunner 主要是C语言开发,支持 Java 、VB 、C#;

  • Jmeter 是纯 Java 开发,支持 Java 脚本语言;


安装方式不同:

  • Jmeter安装简单,解压即可使用;

  • LR安装比较繁杂,安装时间久,安装包也比较大;


软件工具的费用、学习成本不同:

  • LoadRunner 商业工具,费用高昂,JMeter 完全免费;

  • LoadRunner 学习成本更低,强大的录制功能,效率高、门槛低,用的

人多经验分享也多,所以相对更容易上手;

  • JMeter 相对来说学习资料会少一些,插件比较多,学习成本相对较大;


兼容性不同:

  • LoadRunner 支持市面上几乎所有见到的应用的性能测试,不管你是 C、Java 、VB 、 JavaScript 、C#开发的程序,还是数据库( Oracle 、MysqLsqlServer) 应用;本地程序也好,远程调用也好; C/S 模式还是 B/S 模式甚至移动终端都可以不负使命来完成;

  •  JMeter 虽然没有其强大的兼容性,但也能够完成上面的所有工作,只不过有些需要自己来扩展这些功能,如果能够简单编程,这些都不是问题;


分析器不同:

  • LoadRunner 的结果分析器十分强大;

  • JMeter 需要在第三方插件的扩展下才具备与 LoadRunner 相媲美的体验;






JDK与Jmeter环境安装


由于Jmeter 是Java 语言编写的,安装Jmeter前,我们需要确保配置好Java运行环境,故需要安装 JDK,并配置 JDK 的环境变量。 



1
JDK安装及环境变量配置

① JDK官网下载地址传送门:

https://www.oracle.com/java/technologies/javase-downloads.html

进入官网找到与电脑的系统位数对应的32位或64位JDK版本自行下载,比如选择windows64位的安装包,jdk-8u241-windows-x64.exe即可。也可以在微信公众号后台回复"20191004"获取JDK 1.7或JDK 1.8安装包。


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


②下载完,点击认安装即可。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


③配置环境变量,依次操作:"我的电脑" 右键菜单->属性->高级系统设置->环境变量->系统变量。

主要配置以下环境: 

•JAVA_HOME【C:\Program Files\Java\jdk1.8.0_77】 

• Path【;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;】

•CLAsspATH【.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar】 


首先,在系统变量里新建"JAVA_HOME"变量,变量值为Java的安装路径

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk1.8.0_77

(直接复制JDK安装路径

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


接下来,设置"Path"环境变量,该变量已存在,所以在列表中选择Path,点击下方的“编辑”按钮,在弹出的窗口中添加如下信息:

变量名:Path

变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


最后,在系统变量里新建"CLAsspATH"变量及变量值:

变量名:CLAsspATH

变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

(注意最前面有一个点)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



配置好环境变量后,可以进入cmd中检查Java是否安装正确,检查的命令为 java -version,若如图所示显示版本信息则说明安装和配置成功,恭喜成功安装JDK!


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=




2
Windows下Jmeter安装及环境变量配置

①Jmeter官网下载地址传送门:

https://jmeter.apache.org/download_jmeter.cgi

目前的Jmeter最新版本为5.3。


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

有的小伙伴可能不知道下载哪一个

  • 一般软件会有两个版本发布:Source 和 Binaries;

  • Source 是源代码版,需要自己编译成可执行软件;

  • Binaries是可执行版,直接可以拿来用的,已经给你编译好的版本;

  • tgz后缀的一般是linux版本,zip一般windows版本;

如果电脑是windows, 那么直接下载Binaries里后缀为zip的文件


还有一点需要注意,JDK版本需要和Jmeter版本对应:

  • Jmeter2.x:最低jdk1.6;    

  • Jmeter3.0/3.1:最低jdk1.7;          

  • Jmeter3.2/3.3:最低jdk1.8; 

  • Jmeter4.0/5.0:最低jdk1.8;


②下载完成后,解压即可使用,解压后的目录如下:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


③JMeter环境变量配置,依次操作:"我的电脑" 右键菜单->属性->高级系统设置->环境变量->系统变量。

主要配置以下环境:

• JMeter_HOME【D:\software\dev\jmeter\apache-jmeter-5.3】 

• CLAsspATH【%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;% ;JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;】


首先,在系统变量里新建“JMeter_HOME”变量,变量值为Jmeter的安装路径

变量名:JMeter_HOME

变量值:D:\software\dev\jmeter\apache-jmeter-5.3

(直接复制路径)



接下来,“CLAsspATH”变量,变量值中添加变量值,如下:

变量名:CLAsspATH

变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;% JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



④配置完后,确定即可。依次点击bin->jmeter.bat,启动Jmeter程序。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


耐心等待一下,出现Jmeter主界面,代表运行成功。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



3
Mac下Jmeter安装及启动

①Jmeter官网下载地址传送门:

https://jmeter.apache.org/download_jmeter.cgi

选择以tgz结尾的安装包进行下载,下载后解压到对应的目录,如:/Users/coco/soft/apache-jmeter-5.2.1

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


②启动Jmeter。首先,打开终端(Terminal)进入 bin 目录,coco的Jmeter目录是:cd  /Users/coco/soft/apache-jmeter-5.2.1/bin


然后,执行命令:sh jmeter  回车。弹出Jmeter 软件窗口后,即表示运行成功,打开的图形界面如下。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



4
Jmeter目录结构介绍

Jmeter目录结构如下所示:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


1.bin目录——可执行文件配置文件

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


bin目录常用文件介绍:

  • examples:目录下包含Jmeter使用实例,CSV样例;

  • ApacheJMeter.jar:JMeter源码包;

  • jmeter.bat:windows下启动文件

  • jmeter.sh:Linux下启动文件

  • jmeter.log:Jmeter运行日志文件

  • jmeter.properties:Jmeter配置文件

  • jmeter-server.bat:windows下启动负载生成器服务文件

  • jmeter-server:Linux下启动负载生成文件

  • report-template :报告模板;

  • templates :脚本模板;


  1. docs——Jmeter api文档,CSS样式,图片文件

  2. extras——扩展插件包,提供了对Ant的支持文件,可也用于持续集成;

  3. lib——插件目录,存放Jmeter依赖的jar包,同时安装插件也放于此目录;

  • ext :Jmeter依赖的核心jar包插件

  • junit :junit测试脚本

  1. licenses目录——软件许可证书;

  2. printable_docs目录——Jmeter用户手册;




Jmeter实战小例子



既然Jmeter安装成功了,我们就运行一个接口小例子玩玩,如果现在看不懂也没关系,后续系列文章将详细介绍。


①Test Plan右键菜单,依次选择Add-->Threads(Users)-->Thread Group,建立一个线程组

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


②Thread Group右键菜单,依次选择Add-->Sampler-->HTTP Request,建立一个http请求。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


配置接口的请求类型、域名或ip、参数等信息。这里我们用一个实时段子接口:

https://api.apiopen.top/getJoke?page=1&count=2&type=video

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


③Thread Group右键菜单,依次选择Add-->Listener-->View Results Tree,用来查看运行结果。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


④点击运行按钮或快捷键Ctrl+R,运行程序。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


⑤运行结果如下:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=




原文地址:https://blog.51cto.com/u_10913485/2872555

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Jmeter:Authenticationcredentialswerenotprovided上次在使用Jmeter对手机app进行录制后,使用查看结果树对脚本进行回放,出现了{“detail”:“Authenticationcredentialswerenotprovided.”}的问题上次的链接地址:https://blog.csdn.net/Test20201990/article/details/
初次使用jmeter时,结果树中返回的数据为未转码内容,如下:  1、在后置处理器中增加beanshellpreprocessor,如下:  Strings=newString(prev.getResponseData(),"UTF-8");charaChar;intlen=s.length();StringBufferoutBuffer=newString
jmeter默认语言设置: 1、临时设置:进入options--ChooseLanguage-- 选择中文简体,设置后语言 切换成中文,重启失效 2、永久设置:进入jmeter目录下的bin目录,用文本编辑工具ue或notepad++等 打开jmeter.properties文件,进行编辑: 找到行: #language=en 修改为: language=
第一步:打开jmeter工具。 第二步:点击鼠标右击,点击添加_线程_线程组,新增线程组。 第三步:添加HTTP请求 第四步:点击页面调试器(以谷歌浏览器为例F12)填写协议,IP,请求,路径 第五步:1.填写参数2.若页面里面没有token可以拿authorization替代,则需要创建HTTP信息头管理器,并进行
在之前的博文中,Jmeter二次开发——基于Java请求,已介绍了Jmeter二次开发的基础情况,上次分享的是java请求开发,今天来分享下Jmeter中的函数开发。聊到Jmeter的函数,知道Jmeter使用的博友肯定很熟悉。Jmeter自带一个函数库,有很多的函数,比如:__P,__Random,函数助手给我们提供了很多的方便
打开虚拟机然后用远程连接工具SSH连接到数据库将serveragent.zip放到Linux环境中在虚拟机中复制路径进入到/opt/目录解压serveragent.zip修改端口为4444永久保存到防火墙中运行startAgent.sh连接虚拟环境里面的数据库更改地址切换路径修改SQL语句点击
jmeter断言之Beanshell断言(判断数据库结果是否符合预期)该篇文章主要讲一下beanshell断言处理数据库结果。(一)首先需要添加配置原件JDBCConnectionConfiguration连接数据库信息,然后发送jdbc请求获取预期结果。我现在使用得是result_variable_name获取得是响应结果集。接下来对数
《jmeter连接MSQL数据库指导》**一、**首先安装msql服务器。在桌面安装,过程中选择认证方式为之前的认证方式,新的认证可能会导致后面连接失败,报错认证问题。其次:打开安装好的数据库,新建一个database----例如:lhd然后再这个database里面新建一个表,例如:table01,然后表中可以自
前言本章主要讲述Windows环境下实现Jmeter+Ant+Jenkins自动化持续集成注:Jmeter+Ant+Jenkins实现集成的前提是这三者环境都已安装部署好关于Jmeter及Jenkins的下载安装我已在其他篇blog已讲述,这里主要讲一下Ant的部署配置传送门1)Jmeter:https://blog.csdn.net/Makasa/art
接口类型rest接口:通过http的get和post方式得到数据,返回报文为json格式soap接口:通过soap协议得到数据,相比httpservice更能处理复杂的数据,请求和返回报文都为xml格式接口测试作用1.在后端程序完成后,可尽早进行系统测试,发现bug2.解决系统测试复杂度,测试脚本运行速度快,节省
目录 一、Jmeter简介二、Jmeter安装三、设置Jmeter语言为中文环境四、Jmeter主要元件五、Jmeter元件的作用域和执行顺序六、Jmeter进行接口测试流程七、Jmeter进行接口测试流程步骤详解 八、总结如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、
在使用cookie管理器时,没有选择对应的策略会导致cookie传递不了下面来讲一讲这些用法 作用:用于管理Testplan运行时的所有的cookie。可以手动存储,也可以自动存储;每次反复清除cookie?:勾选后将每次请求结束后都会将本次请求产生的cookie进行清除,下次请求时重新获取。CookieP
接口测试及常用接口测试工具解析一、常见接口:二、前端和后端:三、什么是接口测试:四、接口组成五、为什么要做接口测试:六、接口测试怎么测:七、用什么工具测那些关于接口测试的二三事,首先大家要搞清楚,什么是接口,其次是前后端,之后逐一抽丝剥茧让它明朗起来,没有一蹴而就的事
jmeter接口java二次开发五步走第一步:了解jmeter处理java请求的流程​ Jmeter处理请求的流程:Jmeter会读取用户传入的数据,把数据初始化到Jmeter中。调用Java请求时,jmeter会运行内部的runTest函数,调用封装的JAVA接口,获取到返回数据获取到返回数据后,Jmeter可以把返回数据
1、添加断言1)先根据“结果树”中的“HTML”中的“响应数据”,找到需要检查的网页中的文本   2)复制上述内容,根据“结果树”中的“Text”中的“响应数据”,确定最终确定要检查的文本(可能含有标签)3)在线程组下找到需要检查的url,右击“添加”→断言→响应断言    
了解需求:1、性能测试过程中,我们经常需要对流程化的业务进行性能测试,其中涉及到很多接口,这时候问开发拿接口和参数就会降低工作效率,直接用jmeter的录制功能就能提高工作效率2、开发接口案例中,我们也经常会碰到一些上传、下载、导入等等一些接口功能,这些脚本如果直接问开发
 随机数https://blog.csdn.net/qq19970496/article/details/101027184随机日期https://blog.csdn.net/qq19970496/article/details/101027813随机字符串https://blog.csdn.net/qq19970496/article/details/101027925随机变量https://blog.csdn.net/qq19970496/article/details/1
JmeterP1性能测试关键指标1,这些指标大家看到后有什么感觉呢?对于功能测试,一般结果就两种,成功的或者是不通过的,有问题的和没问题的,有毛病的和没毛病的,比如打开网页,能打开就打开,打不开就打不开2,性能测试要更复杂一点,不能直接说行还是不行,要有一个参数,一个多维度的指标,来衡量他,比
  jmeter录制脚本示例  jmeter手工脚本编写与调试  业务逻辑实现之逻辑控制器  业务脚本参数化实现  jmeter处理cookie  beanshell脚本  jmeter脚本录制badboy:        
压力测试压力测试是考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在使用压力测试,我们希望找出其他测试方法更难发现的错误,其中有主要有两种错误类型:内存泄漏,并发和同步1.性能指标响应时间:响应时间是指客户端发起请求开始到客户端接收到从服务器返回的响应