jmeter性能测试培训课件.ppt

上传人(卖家):晟晟文业 文档编号:4301067 上传时间:2022-11-27 格式:PPT 页数:51 大小:1.69MB
下载 相关 举报
jmeter性能测试培训课件.ppt_第1页
第1页 / 共51页
jmeter性能测试培训课件.ppt_第2页
第2页 / 共51页
jmeter性能测试培训课件.ppt_第3页
第3页 / 共51页
jmeter性能测试培训课件.ppt_第4页
第4页 / 共51页
jmeter性能测试培训课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、1JMeterJMeter基础培训基础培训20112011年年7 7月月1ppt课件2目录JMeter介绍JMeter介绍谁在使用JMeterJMeter与Loadrunner的对比JMeter在测试工作的应用JMeter二次开发2ppt课件3JMeter介绍JMeterJMeter是基于是基于JavaJava的,开放源代码的性能测试工具的,开放源代码的性能测试工具能够对能够对HTTPHTTP和和FTPFTP服务器进行压力和性能测试服务器进行压力和性能测试可以对任何数据库进行同样的测试(通过可以对任何数据库进行同样的测试(通过JDBCJDBC)各种负载统计表和可链接的计时器可供选择各种负载统计

2、表和可链接的计时器可供选择缓存和离线分析缓存和离线分析/回放测试结果回放测试结果完全多线程框架完全多线程框架高可扩展性高可扩展性免费/开源3ppt课件4谁在使用JMeter4ppt课件谁在使用JMeter 移动梦网搜索项目 盘古搜索项目55ppt课件6目录JMeter介绍JMeter与Loadrunner的对比支持的协议对比功能对比使用对比JMeter在测试工作的应用JMeter二次开发6ppt课件7支持的协议对比JMeter支持的协议Web(HTTP/HTTPS),SOAP,FTP,Database(JDBC),LDAP,JMS,Mail(POP3/IMAP),JAVALoadrunner支

3、持的协议WEB(Http/Html)、FTP、LDAP、Palm、Web/WinsocketDual ProtocolSQL Server、MS ODBC、Oracle、DB2、Sybase CTlib、Sybase DBlib、Domain Name Resolution(DNS)、Windows Socket COM/DCOM、Corba-Java、Rmi_Java EJB、Rmi_Java Oracle NCA、SAP-Web、SAPGUI、SAPGUI/SAP-Web Dual Protocol、PropleSoft_Tuxedo、Siebel Web、Siebel-DB2 CLI、S

4、ieble-MSSQL、Sieble OracleJMeter支持的协议相对Loadrunner较少,但是可以通过二次开发来实现7ppt课件8JMeter与Loadrunner功能对比对比项JMeterLoadrunner支持的协议支持的协议少少多多结果报表结果报表少少丰富丰富测试场景测试场景灵活灵活灵活灵活运行环境运行环境Windows/Unix/Linux Windows/Linux(部分支持部分支持)IP欺骗功能欺骗功能无无有有8ppt课件9使用对比对比项JMeterLoadrunner安装安装简单简单复杂复杂脚本录制脚本录制很好很好较好较好脚本语言脚本语言C,JAVA,VBXML编辑方

5、式编辑方式修改脚本修改脚本图形界面修改图形界面修改成本成本免费免费昂贵昂贵学习资料学习资料较少(逐渐丰富)较少(逐渐丰富)很多很多9ppt课件10目录JMeter介绍JMeter与Loadrunner的对比JMeter在测试工作的应用JMeter主要组件介绍脚本录制运行JMeter参数化设置动态关联场景设置JMeter测试实例JMeter二次开发10ppt课件11JMeter主要组件(测试计划)测试计划(Test Plan)是使用 JMeter 进行 测试的起点,它是其它 JMeter 测试元件的容器。用户定义的变量:用户可以自己定义变量,在用到此变量的时候直接用$变量名引用即可。例如:$ip

6、,$portAdd directory or jar to classpath:向类路径即%JMeter-HOME%lib中添加目录及jar包11ppt课件12JMeter主要组件(线程组)名称:线程组的名字。线程数:设置发送请求的用户数目,即并发数。Ramp-Up Period(in second):线程启动的时间,单位是秒。即所有线程在多少时间内启动。循环次数:请求的重复次数,如果选择后面的“永远”,那么 请求将一直继续;而在输入框中输入数字,那么请求将重复指定的次数,如果输入1,那么请求将执行一次。启动时间:测试计划什么时候启动。结束时间:测试计划什么时候结束。持续时间:测试计划持续多长

7、时间,会覆盖结束时间。启动延迟:测试计划延迟多长时间启动,会覆盖启动时间。12ppt课件13JMeter主要组件(取样器)名称:HTTP请求的名字。Web服务器服务器名称或IP、端口号,脚本录制时自动添加,也可以使用“用户自定义变量”。HTTP请求:用默认值即可。同请求一起发送参数:请求中的参数、值可以在此设置,需要用到参数化及动态数据关联,后面专门介绍。同请求一起发送文件:我可以制定同请求一起发送哪个文件。其他任务包括:从HTML文件中获取所有内含的资源、用作监视器13ppt课件14JMeter主要组件(监听器)监听器监听器(Listener)负责收集测试结果,支持将结果数据写入文件。同时也

8、负责收集测试结果,支持将结果数据写入文件。同时也被告知了结果显示的方式。我们常用的包括:被告知了结果显示的方式。我们常用的包括:聚合报告、聚合报告、查看结果树、查看结果树、用表格查看结果、用表格查看结果、图形结果图形结果14ppt课件JMeter主要组件聚合报告:聚合报告:Label:这里对应一个HTTP Request,显示的就是 Name 属性的值;#Samples:表示你这次测试中一共发出了多少个请求;Average:平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了“事务控制器”时,以事务为单位为单位显示平均响应时间Median:中位数,也就是 50 用户的响应时

9、间90%Line:90 用户的响应时间Min:最小响应时间Max:最大响应时间Error%:本次测试中出现错误的请求的数量/请求的总数Throughput:吞吐量,默认情况下表示每秒完成的请求数。KB/Sec:每秒从服务器端接收到的数据量15ppt课件JMeter主要组件查看结果树查看结果树显示取样器请求和响应的细节,包括消息报头,请求的数据,相应数据16ppt课件JMeter主要组件表格查看结果表格查看结果显示每一请求的信息,包括发起请求的线程,开始时间,请求响应时间,请求字节数17ppt课件JMeter主要组件图形结果图形结果18ppt课件脚本录制 使用JMeter的代理服务器功能进行脚本

10、录制 利用Badboy进行脚本录制,再转为JMeter脚本1919ppt课件使用JMeter录制 在测试计划中添加线程组,在线程组中添加在测试计划中添加线程组,在线程组中添加“配置配置元件元件”“HTTP请求默认值请求默认值”,设置被测系统的,设置被测系统的IP和端口。和端口。在在“工作台工作台”中添加中添加“非测试元件非测试元件”“HTTP代代理服务器理服务器”。端口:即代理服务器的监听端口,设。端口:即代理服务器的监听端口,设为为9999。目标控制器选择测试计划中的线程组;分组选择:目标控制器选择测试计划中的线程组;分组选择:不对样本分组。排除模式:不对样本分组。排除模式:.*.jpg,.

11、*.gif 配置浏览器代理,和配置浏览器代理,和“HTTP代理服务器代理服务器”设置保设置保持一致持一致 启动启动JMeter 工作台工作台“HTTP代理服务器代理服务器”;打开浏览器,登录测试网站,在测试网页上进行操打开浏览器,登录测试网站,在测试网页上进行操作;作;完成后,停止完成后,停止JMeter 工作台工作台“HTTP代理服务器代理服务器”;2020ppt课件使用JMeter录制2121ppt课件使用Badboy录制 使用Badboy录制 选择“File-Export to JMeter”菜单,导出为JMeter脚本,使用JMeter打开2222ppt课件运行JMeter进行测试 图

12、形界面 命令行模式运行 JMeter.sh-n t test.jmx-l log.jtl-n告知JMeter采用非图形化运行JMeter脚本-t指定要运行的脚本文件-l指定保存执行结果的文件名23ppt课件参数化设置 在我们的过程中,通常会提交一些参数,使用不同的参数值来模拟才更接近实际情况。参数定义后,使用$paramName既可以使用2424ppt课件参数化设置用户自定义变量 使用测试计划中的用户定义变量作为参数 一般定义全局变量,如:IP,端口文件参数 利用配置元件中的CSV Data Set Config进行参数化设置函数参数 使用JMeter提供的函数进行参数化 JMeter提供“函

13、数助手”的向导2525ppt课件用户自定义变量2626ppt课件文件参数 在一个HTTP请求中,要提交多个参数,其中category,query两个参数需要做参数化,数据保存在文件中2727ppt课件文件参数 使用配置元件CSV Data Set Config28Filename文件名:即参数化要引用的文件名File encoding:文件编码:可以不填。Variable Names(comma-delimited)变量名(用逗号分割):多个变量可以引用同一个文件,用逗号分割。这里是num1,num2Delimiter:参数文件中多个变量值的分隔符,t表示用tab键分割,默认是逗号。Recyc

14、le on EOF:结束后是否循环?默认是True.28ppt课件函数参数 JMeter函数助手的功能,里面内置了多个函数;2929ppt课件文件参数选择一个功能选择一个功能_Random。设定最小值为设定最小值为1。设定最大值为设定最大值为100。函数名称设为函数名称设为num1。点击生成将生成一个引用字符串点击生成将生成一个引用字符串$_Random(0,100,num1,在需要的请,在需要的请求参数中拷贝该字符串即可。求参数中拷贝该字符串即可。其中函数名称用来在引用中作区别,即我们可以设定不同的名称在不同其中函数名称用来在引用中作区别,即我们可以设定不同的名称在不同的地方引用同一个函数的

15、功能。的地方引用同一个函数的功能。3030ppt课件动态关联 在HTTP请求的参数中经常会遇到一些参数的值是从服务器相应的动态数据,这些数据需要进行关联才能使得每一次请求都能成功得被服务器接受,在JMeter中采用正则表达式提取器来获取这些动态的数据。正则表达式允许用户从服务器响应中获取数据,作为一个后置处理器,正则表达式提取器会在每一个请求执行后再执行,正则表达式提取请求的参数值,产生模板字符串,并将结果保存到给出的变量中。3131ppt课件动态关联 在脚本录制完毕以后,运行一遍录制的脚本,使在脚本录制完毕以后,运行一遍录制的脚本,使用用“察看结果树察看结果树”监听器,分析那些需要做动态监听

16、器,分析那些需要做动态关联(一般建议先使用关联(一般建议先使用HttpWatch分析那些要做分析那些要做动态关联);动态关联);以基于以基于WEB_BAS的的SQMAS为例。经过分析,在为例。经过分析,在登录时,会登录时,会cookie会记录一个会记录一个JSESSIONID,每,每次提交请求时,会次提交请求时,会post一个一个ticket。3232ppt课件动态关联 添加一个正则表达式提取器,提取添加一个正则表达式提取器,提取JSESSIONID;可以添加一个响应断言,测试提取结果;可以添加一个响应断言,测试提取结果;$jessionid_g1表示匹配第一组数值,这里只有一表示匹配第一组数

17、值,这里只有一个,也可以直接使用个,也可以直接使用$jessionid3333ppt课件动态关联 运行测试计划,测试提取结果3434ppt课件动态关联 修改ticket,使用提取的JSESSIONID3535ppt课件场景设置 JMeter的逻辑控制器提供了一系列的组件,可以实现多样化的场景控制。常用的逻辑控制器有:循环控制器,事务控制器3636ppt课件JMeter测试实例 HTTP GET测试 基于WEB_BAS的测试实例 HTTP XML测试3737ppt课件目录38JMeter介绍JMeter与Loadrunner的对比JMeter在测试工作的应用JMeter二次开发自定义协议实现思路

18、应用举例38ppt课件HTTP GET测试3939ppt课件基于WEB_BAS的测试实例4040ppt课件JMeter二次开发 JMeter取样器提供了一些协议的测试取样器提供了一些协议的测试支持。如果不能满足测试需要,需要支持。如果不能满足测试需要,需要做二次开发。做二次开发。JMeter是基于是基于Java语言实现的,例语言实现的,例如如http请求,它只是用请求,它只是用Java代码封装代码封装了了Http的协议,内部其实使用了的协议,内部其实使用了Java的类库来对应用发送请求的,所以通的类库来对应用发送请求的,所以通过过Java请求的性能测试,我们可以做请求的性能测试,我们可以做任意

19、自定义协议请求的性能测试任意自定义协议请求的性能测试4141ppt课件JMeter自定义协议实现思路 新建一个测试类,继承新建一个测试类,继承org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient 实现实现getDefaultParameters,setupTest,runTest,teardownTest方法方法 getDefaultParameters是配置参数的方法是配置参数的方法 setupTest和和teardownTest与与JUnit中的类似,中的类似,分别在测试的开始和结束时执行。分别在测试的开始和结束

20、时执行。runTest为主要测试方法,所有测试程序都在这为主要测试方法,所有测试程序都在这里完成。里完成。4242ppt课件应用举例 盘古索引项目需要对后台分布式索引系统进行性能测试,经过分析,直接对web搜索页面进行测试得到不能得到真实的性能情况。解决方法:使用JMeter二次开发,调用分布文件系统的查询API进行性能测试4343ppt课件应用举例 创建一个indexBaseTest类44public class indexBaseTest extends AbstractJavaSamplerClient implements Serializable 44ppt课件应用举例 实现getD

21、efaultParameters方法方法45public Arguments getDefaultParameters()Arguments params=new Arguments();/增加一个参数,默认值为空,参数名显示为params.addArgument(KEY,);return params;45ppt课件应用举例 实现setupTest方法方法46public void setupTest(JavaSamplerContext context)getLogger().debug(whoAmI()+tsetupTest();listParameters(context);try/根

22、据索引名称初始化一个索引实例index=new Index(indexName);catch(IOException e)e.printStackTrace();catch(Exception e)e.printStackTrace();46ppt课件应用举例 实现实现runTest方法,实现测试方法,实现测试47public SampleResult runTest(JavaSamplerContext context)SampleResult results=new SampleResult();key=context.getParameter(KEY,);/取查询参数 results.s

23、ampleStart();/事务开始 try reps_hello=index.search(queryKey,filter,0,100,1,flds);results.setSuccessful(true);/设置事务成功 catch(Exception e)results.setSuccessful(false);finally results.sampleEnd();return results;47ppt课件应用举例 实现teardownTest方法,清理对象方法,清理对象48public void teardownTest(JavaSamplerContext context)try index.close();getLogger().debug(whoAmI()+tteardownTest();listParameters(context);catch(IOException e)e.printStackTrace();catch(Exception e)e.printStackTrace();48ppt课件应用举例4949ppt课件培训资料 asp-sz-filepublictmpJMeter培训5050ppt课件5151ppt课件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(jmeter性能测试培训课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|