jmeter怎么用
1.测试工具jmeter压力测试相关工具: 1. apache-jmeter-3.1 2. JMeterPlugins-Standard-1.4.0、JMeterPlugins-Extras-1.4.0 3. ServrerAgent-2.2.12.jmeter测试过程2.1 线程组) 新建测试计划(步骤省略)后,选择添加线程组,进入线程组设置页面,其中线程数代表用户数,Ramp-Up Period表示线程组周期,循环次数表示执行具体次数。 请点击输入图片描述2.2 http请求 添加sampler下http请求组件,服务器名称或IP处填入域名或者IP地址,端口号填入对应端口号,根据具体的请求选择请求类型,写入对应URL,有参数情形下选择参数类型并填入相应参数。需要自定义请求头时,在配置元件中选择HTTP信息头管理器。请点击输入图片描述2.3 自定义参数获取自定义参数有两种方式: - 用户自定义参数 请点击输入图片描述从scv文件导入 按照上述配置,scv文件中不同的值之间以“,”分隔,一行为一组值,引用对应参数时,循环引用使用scv文件中的参数值。请点击输入图片描述请点击输入图片描述-参数引用方式:&{参数名} 定义的参数是全局的,可在url、请求参数等各处使用&{参数名}方式引用。例如上述两种定义的参数的引用方式为&{test},在使用jmeter会对各引用进行值替换。2.4 随机参数通过函数助手的方式可以引入随机参数,点击函数助手,在下拉选项中选择_UUID,设置相应的参数,复制粘贴生成的表达式即可使用。通过函数助手也可以引入其他基本的函数,方便测试的进行。 请点击输入图片描述请点击输入图片描述2.5 服务器状态监测在服务端运行serverAgent,选择监听器中的对应项,配置相应的在地址,端口号,选择需要监控的项,例如CPU、内存等,线程组运行时会绘制图表。 请点击输入图片描述
JMeter基础
一、Jmeter简介 —-->生成不同格式的测试报告 以WEB性能测试为例:jmeter可以作为web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,jmeter就可以通过线程来模拟真实用户对web服务器的访问压力。这与LoadRunner的工作原理基本一致( 向服务器提交请求;从服务器获取请求返回的结果 ) 二、JMeter下载安装 1、安装环境要求 Unix(Solaris,Linux,etc) 、 Windows(98,NT,2000,XP,WIN8) 2、JDK下载、安装 右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量: 变量值:D:Program FilesJavajdk1.8.0_92【jdk安装路径】 变量值: .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar; 运行cmd->输入java -version->显示java版本就表示jdk安装成功 3、JMeter下载安装 4、JMeter环境配置 变量值:E:apache-jmeter-4.0 (就是jmeter保存的路径,即jmeter解压路径) 如:JMETER_HOME=D:apache-jmetesapache-jmeter-4.0 变量值: ;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar 5、Jmeter 的Bin目录下的几个重要文件 6、启动Jmeter 三、JMeter组件介绍 (JMeter常用组件) 1、测试计划(Test Plan) 注:什么是元素? JMeter的不同组件称为Elements。 每个元素都是为特定目的而设计的。 2、线程组(Threads) 例如,如果将线程数设置为100; JMeter将创建并模拟100个用户对被测服务器的请求 所有的控制器和取样器都是在某个线程组下; 3、逻辑控制器(Logic controller) 逻辑控制器允许在线程中定义处理请求的顺序。它允许控制“何时”将用户请求发送到Web服务器。例如,可以使用随机控制器随机向服务器发送HTTP请求 例如:我们在收邮件时,只需要登录一次邮箱既可查看多封邮件。如果这个场景我们在Jmeter中实现,我们需要控制登录的次数,如何实现呢?Jmeter逻辑控制器中的仅一次控制器就可以完成。当然了,控制器不只是这一个,还有很多其他的控制器来完成我们的各种需求。 除了为“线程组”指定的循环值之外,循环控制器使取样器运行一定次数。例如,如果你 将一个HTTP请求添加到循环控制器,循环计数为50 将“线程组”循环计数配置为2 然后,JMeter将发送总共50 * 2 = 100个HTTP请求。 除了循环值= 2,你为上面的线程组指定。所以JMeter将发送总共2 * 50 = 100个HTTP请求。 又如:线程组中设置循环次数3,循环控制器中设置循环测试2, 即:线程组的循环与循环控制器为父子关系,且循环控制器只对子请求有效 注:录制脚本的循环按循环控制器中的调协循环 作为循环控制器的子节点,仅一次控制器在每循环的第一次迭代时均会被执行 HTTP请求、FTP请求、JDBC请求 这3个请求应该运行5次; JMeter将向baidu服务器发送总共5个用户请求。 按顺序,按以下顺序依次发送请求:HTTP请求 - > FTP请求 - > JDBC请求,对于每个循环按随机顺序,请求随机发送,FTP请求 - > HTTP请求 - > JDBC请求 或 JDBC请求 - > FTP请求 - > HTTP请求等 4、配置元件(Config element) 比如CVS Data Set Config,它可以帮助我们从文件中读取测试数据。另外Jmeter也提供了众多的函数来帮我们生成动态数据。 缓存管理器),自动记录服务器返回的Cache信息。简单说就是它为取样器提供预备数据,然后由取样器 发出请求。 入不同的登录凭据。 该登录信息(例如,用户名,密码)可以存储在文本文件中。 JMeter有一个元素,允许您从该文本文件中读取不同的参数。 它是“CSV数据集配置”,用于从文件中读取行,并将它们拆分为变量。 这是CSV数据的示例。 这是一个文本文件,其中包含用于登录目标网站的用户和密码 密码将作为cookie存储在计算机中。下次访问 www.baidu.com 时 ,无需再次登录,因为在浏览器将使用您的Cookie作为用户数据登录。 Cookie管理器会自动存储该cookie,并将其用于将来对该特定网站的所有请求。 此元素允许您设置HTTP请求控制器使用的默认值 server name = google.com PS:在执行顺序方面有个例外,配置元件"用户定义的变量"无论它处于测试树的哪个位置,总是在测试的初始阶段执行。所以个人建议把它放在线程组的开始部分。 5、定时器(Timer)( 固定定时器:思考时间 ) JMeter向http://www.baidu.com创建一个用户请求100次 每个用户请求之间的延迟为5000毫秒 6、前置处理器(Per processors) 7、取样器(Samples) 您将FTP“下载文件”或“上载文件”请求发送到FTP服务器。 JMeter将FTP命令发送到FTP服务器ftp.example.com ,然后从该服务器下载文件Test.txt。 您可以配置JMeter将SQL查询发送到此服务器以检索数据。 如果要测试邮件服务器,可以使用SMTP采样器。 此采样器用于使用SMTP协议发送电子邮件 8、后置处理器(post processors) 9、断言(Assertions) 用过LR的读者应该会知道检查点这个功能,可以帮助我们来判断请求是否成功返回且是否符合要求,在Jmeter中我们不叫检查点,我们叫断言,接触过selenium的也会懂这个概念。就是用一个预设的结果(值、表达式、时间长短等条件)与实际结果匹配,匹配到则成功,反之失败。 APPly to: 适用范围 Main sample and sub-samples:作用于父节点取样器及对应子节点取样器 Main sample only:仅作用于父节点取样器 Sub-samples only:仅作用于子节点取样器 JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称) 要测试的响应字段: 要检查的项 响应报文 Documeng(text):测试文件 URL样本 响应代码 响应信息 Response Headers:响应头部 Ignore status:忽略返回的响应报文状态码 模式匹配规则: 包括:返回结果包括你指定的内容 匹配:(好像跟Equals查不多,弄不明白有什么区别) Equals:返回结果与你指定结果一致 Substring:返回结果是指定结果的字串 否:不进行匹配 要测试的模式: 即填写你指定的结果(可填写多个),按钮【添加】、【删除】是进行指定内容的管理 10、监听器(Listener) “图形结果”侦听器在图形上显示服务器响应时间 “查看结果树”以基本HTML格式显示用户请求的结果(View Results Tree) 通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过。 Thread Name:线程组名称 Sample Start: 启动开始时间 Load time:加载时长 Latency:等待时长 Size in bytes:发送的数据总大小 Headers size in bytes:发送数据的其余部分大小 Sample Count:发送统计 Error Count:交互错误统计 Response code:返回码 Response message:返回信息 Response headers:返回的头部信息 这里绿色的就说明请求是通过的,返回值是200,如果出现红色的 就说明请求失败,这时候可以通过右边的取样器结果和响应数据来查看结果。 用表格可看结果(View Results in Table) 四、组件执行顺序 在同一作用域名范围内(不考虑逻辑控制器),测试计划中的元件按照如下顺序执行。 (1)配置元件(config elements ) (2)前置处理程序(Per-processors) (3)定时器(timers ) (4)取样器(Sampler) (5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空) (6)断言(Assertions)(除非Sampler 得到的返回结果为空) (7)监听器(Listeners)(除非Sampler 得到的返回结果为空) 问题 1、为什么要使用jmeter?他可以帮我们解决那些事情? jmeter主要是做接口测试和性能测试,它支持的协议也不少,用来测试http,数据库并发都是很方便快捷的工具,相对于lr来说更灵活与实用,等等 2、我们在什么时候会使用jmeter? · 在一个项目中我们可能前段还没有开发完毕我们想看一下服务器的相应数据。 · 比如我们校验数据库有没有做校验,我们可以绕过前端 · 我们想看一下这个接口或者多个接口的并发量是多少,性能怎么样 3、.谁在使用?为什么是他在使用? 一般使用者为开发人员或者测试人员。 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件 支持接口测试,压力测试等多种功能,支持录制回放,入门简单 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试 多平台支持,可在Linux,Windows,Mac上运行 4、使用jmeter需要了解什么?接口与接口之间的联系怎么处理? · 我们必须了解接口的工作原理 · 需要掌握http中的get和post请求原理 · 需要掌握请求头,响应头,请求体个个字段代表什么意思,并且字段的返回值的各代的含义是什么? · 响应的状态码各代表什么含义· · json是什么? · 接口测试用例的设计方法,以及测试时点 接口之间的联系: 接口与接口之间存在联系,比如上个接口的返回值是下一个接口的入参,那我们就要在上个接口返回值赋值变量,供下一个接口调用。 5、在使用jmeter中我想要的预期结果和实际结果是怎样对比的? · 我们做所有的测试无非就是预期结果和实际结果作对比,如果预期结果和实际结果作对比,那么这个接口就是可用的,不相等那么这个接口就是有问题的。 ·在jmeter中我们的用断言做实际结果和预期结果的对比,它提供了许多断言方法,其中最常用的就是响应断言,在后面我会专门的写一下响应断言以及一些常用断言的用法。 · 我们还需要知道在jmeter中我们断言的内容是啥?这点是很重要的 7、使用jmeter的是的我们的有哪些方面的提升,jmeter的主流方向是什么? · 对整个前端与后端的一个相互传输数据原理有了进一步了解 · 可以提高测试效率,可以提早的参与进来,较早的发现问题,减少开发成本,缩短整个产品的上线周期,可以给测试流出充裕的时间,保证产品质量。 ·掌握了接口测试的测试点,已及用例的设计方法。 jmeter测试的主流方向: · 用于性能测试,压力测试 · 接口测试
怎么在windows系统中安装Jmeter压力测试工具
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 怎么在windows系统中安装Jmeter压力测试工具?下面一起来学习一下吧Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。JmeterJMeter的作用1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。2.完全的可移植性和100% 纯java。3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。5.精心的GUI设计允许快速操作和更精确的计时。6.缓存和离线分析/回放测试结果。一、Jmeter安装总结1、配置Java环境变量时需要注意设置的路径需要和JDK安装的路径一样2、配置Java环境变量时需要注意JDK的版本号3、配置环境变量时多个变量以分号隔开,但是确保是英文输入法的分号二、搭建测试环境总结1、检测负载机是否可以被调用,检测负载机的ip是否能被ping通2、当负载机的ip不能ping通时,有可能是防火墙拦截了,可以检测防火墙是否是启用状态,如果是暂时设置禁用防火墙3、测试的数据调用文件应该放在负载机上,并且在控制中心设置正确的数据访问路径Jmeter测试工具安装步骤:1、安装Jmeter下载Jmeter工具包 并把工具包放到C盘下http://jmeter.apache.org/download_jmeter.cgi2、安装JDK下载Java的JDK并安装,一般会安装在C:\Program Files\Java目录下http://java.sun.com/javase/downloads/index.jsp3、Java环境变量配置桌面上 右键选中计算机--->属性--->高级系统设置--->环境变量设置在“系统变量”--->“新建”, 在变量名中输入:CLASSPATH,变量值中输入:C:\Program Files\Java\jdk1.6.0_10\lib\dt.JAR; C:\Program Files\Java\jdk1.6.0_10\lib\TOOLS.JAR; C:\Program Files\Java\jdk1.6.0_10\BIN;再按“新建”,在变量名中输入:JAVA_HOME,变量中输入:C:\Program Files\Java\jdk1.6.0_10;修改PATH变量,添加%JAVA_HOME%/bin;然后确定即可4、Jmeter环境变量配置桌面上 右键选中计算机--->属性--->高级系统设置--->环境变量设置在“系统变量”--->“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:C:\jakarta-jmeter-2.3.4 ,再修改CLASSPATH变量,变量值中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;% JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然后确定即可意义1、Label: 定义的HTTP请求名称2、Samples: 表示这次测试中一共发出了多少个请求3、Average: 访问页面的平均响应时间4、Min: 访问页面的最小响应时间5、Max: 访问页面的最大响应时间6、Error%: 错误的请求的数量/请求的总数7、Throughput:每秒完成的请求数8、KB/Sec: 每秒从服务器端接收到的数据量
如何用Jmeter做压力测试
在“服务器名称或ip”设置127.0.0.1,端口号设置:8080,“方法”设置post,路径设置网站登录的地址,如“/exam/operatorAction”。登录需传入用户、密码。在“同请求一起发送参数”列表中添加参数。参数值根据web应用设置。如login_user=0001;login_password=1;actFlag=login。一般网站登录后,在tomcat中生成了session,之后访问其他页面将无需再次登录,前提是浏览器需支持cookie。在jmap中也同样,如要继续访问其他页面,还需做下面关键的设置。Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
jmeter压力测试怎么测
jmeter压力测试方法:品牌型号:华硕UX30K723A系统版本:win7软件版本:apache jmeter v3.1官方版1、打开JMeter,更改语言为中文,官方默认为我们提供了简体中文。通过 【Options】->【Choose Language】变更为简体中文,如下图所示:2、创建线程组。在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】,如下图所示:3、设置线程数和循环次数。我这里设置线程数为500,循环一次,如下图所示:4、配置元件。在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】,如下图所示:5、配置我们需要进行测试的程序协议、地址和端口,如下图所示:6、构造HTTP请求。在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据。我这里是用的json,如下图所示:7、添加HTTP请求头,在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP信息头管理器】。因为我要传输的数据为json,所以设置一个 Content-Type:application/json,如下图所示:8、添加断言。在我们刚刚创建的线程组上右键 【添加】-->【断言】-->【响应断言】。根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为200。还可以配置错误信息,如下图所示:9、添加察看结果树,在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【察看结果树】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:10、添加Summary Report。在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【Summary Report】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:11、执行测试计划,执行测试计划不能用GUI,需要用命令行来执行,如下图所示:我这里执行的命令为:jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport说明:testplan/RedisLock.jmx 为测试计划文件路径testplan/result/result.txt 为测试结果文件路径testplan/webreport 为web报告保存路径。12、Web报告,如下图所示: