您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 《jmeter使用入门》PPT课件
jmeter工具使用入门2目录Jmeter简介Jmeter脚本制作Jmeter主要组件介绍集合点参数化设置动态数据关联3JMeter是基于java的,开放源代码的功能和性能测试工具能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。缓存和离线分析/回放测试结果。各种负载统计表和可链接的计时器可供选择。高可扩展性Jmeter官方下载地址:。下载后,直接解压,运行bin/jmeter.bat即可安装Jmeterplugins(第三方插件)Jmeter简介4利用BadBoy进行脚本录制通过Badboy的官方网站()下载Badboy的最新版本录制好后,保持文件时选择“File-ExporttoJMeter”菜单,填写文件名“xxx.jmx”,将录制好脚本导出为JMeter脚本格式。也可以选择“File-Save”菜单保存为Badboy脚本;Jmeter脚本制作5利用JMeter的代理服务器功能进行脚本录制(1)Jmeter脚本制作•在测试计划中添加线程组,在线程组中添加逻辑控制器-录制控制器。•在工作台中添加非测试元件-HTTP代理服务器。•端口:即代理服务器的监听端口,我们设为8080•目标控制器选择:测试计划线程组;•分组选择:每个组放入一个新的控制器。•过滤我们不需要录制的东西,正则表达式:.*\.(gif|js|css|bmp|ico|jpe?g|png|swf)6Jmeter脚本制作•在HTTP代理服务器中添加定时器-高斯随机定时器(用于告知Jmeter来在其生成的HTTP请求中自动的增加一个定时器)。定时器将会使相应的的取样器被延迟。延时的规则是,在上一个访问请求被响应并延时了指定的时间后,下一个被定时器影响的取样访问请求才会被发送出去。•如果在代理服务器元件里使用了高斯随机定时器,就应该在其中的固定延迟偏移(ConstantDelayOffset)设置项里添上${T}(用于自动引用纪录的延迟时间)。利用JMeter的代理服务器功能进行脚本录制(2)7Jmeter脚本制作打开浏览器,打开Internet选项,将局域网(LAN)设置中的代理服务器设为:localhost,端口为在代理服务器中设的端口:8080。利用JMeter的代理服务器功能进行脚本录制(3)8Jmeter脚本制作自己手动编写9测试计划(TestPlan)线程组(ThreadGroup)取样器(sampler)监听器(Listener)逻辑控制器(LogicController)断言(Assertions)配置元件(ConfigElement)前置处理器(PreProcessors)和后置处理器(PostProcessors)定时器(Timer)Jmeter主要元件介绍10Jmeter主要组件介绍-测试计划测试计划(TestPlan)是一切Jmeter测试脚本的基础,所有的功能元件的组合都必须基于测试计划。名称:你可以为你的测试计划取一个有意义的名字。注释:对测试计划的注释。用户定义的变量:用户可以自己定义变量,在用到此变量的时候直接用${变量名}引用即可。经常需要定义的变量如域名(ip),端口号(port),固定路径11Jmeter主要组件介绍-线程组线程组--测试里每个任务都要线程去处理,所有任务必须在线程组下面创建。线程数:设置发送请求的用户数目,即并发数。Ramp-UpPeriod(insecond):创建完所有线程的时间,单位是秒。一般不设置为0,防止对服务器有太大的负载循环次数:请求的重复次数,如果选择后面的forever(默认),那么请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次。启动时间:测试计划什么时候启动,启动延迟会覆盖它。结束时间:测试计划什么时候结束,持续时间会覆盖它。持续时间:测试计划持续多长时间,会覆盖结束时间。启动延迟:测试计划延迟多长时间启动,会覆盖启动时间。12Jmeter主要组件介绍-取样器取样器是用来向服务器发起请求并且等待接受服务器响应的元件,所有与服务器交互的请求都依赖于取样器。取样器会按照其在测试树中的顺序去执行,还可以用逻辑控制器来改变取样器运行的重复次数取样器主要有如下图几种,常用的有http请求,JDBC请求,soap请求。13Jmeter主要组件介绍-监听器监听器(Listener)负责收集测试结果,同时也被告知了结果显示的方式。我们常用的包括:聚合报告、查看结果树、用表格查看结果,图形结果。都支持将结果数据写入文件。其他的添加上去看看就行。14Jmeter主要组件介绍-监听器(集合报告)Label:对应HTTP请求,这里显示的就是Name属性的值#samples:表示你这次测试中一共发出了多少个请求,如果测试计划模拟10个用户,每个用户迭代10次,这里就会显示100Averge:平均响应时间—默认情况下是单个Request的平均响应时间,当使用了事务控制器时,也可以以事务为单位显示平均响应时间Median:中位数,也就是50%用户的响应时间90%Line:90%用户的响应时间Min:最小响应时间Max:最大响应时间Error%:错误率,本次测试中出现错误的请求的数量/请求的总数Throughput:吞吐量——默认情况下表示每秒完成的请求数(RequestperSecond)KB/Sec:每秒从服务器端接收到的数据量15Jmeter主要组件介绍-逻辑控制器逻辑控制器(LogicController)可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列,可以模拟复杂的场景。16Jmeter主要组件介绍-断言断言(Assertions)可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的,还可以用来做自动化测试。17Jmeter主要组件介绍-配置元件配置元件(ConfigElement)维护Sampler需要的配置信息,配置元件并不发送请求(除了HTTP代理服务器例外)并根据实际的需要会修改请求的内容。我们主要在参数化中用到CSVDataSetConfig配置元件“用户自定义的变量”会在测试的初始阶段执行(无论它处于测试树的哪个位置)配置元件仅对其所在的测试树分支有效18Jmeter主要组件介绍-前置处理器和后置处理器前置处理器(PreProcessors)和后置处理(PostProcessors)负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。我们主要在动态关联中用到后置处理器的正则表达式提取器。19Jmeter主要组件介绍-定时器定时器(Timer)负责定义请求之间的延迟间隔。20Jmeter集合点在性能测试中,实现多用户并发测试。注:1.线程组线程数量=集合点设置数(因为小于到不了集合点)2.线程组线程数量要是集合点设置数的整数倍(因为分组有余数的话最后一组到不了集合点)21Jmeter参数化在我们的测试计划中我们大多数使用的都是HTTP请求,在HTTP请求中常常会提交一些参数,我们为了不想在每一次请求中都使用相同的参数值,就要想办法让每一次请求的参数的值都是不一样的,我们就需要进行参数化设置,这里我们介绍两种参数化设置的方法。方法一是利用函数助手中的_Random函数进行参数化设置方法二是利用配置元件中的CSVDataSetConfig进行参数化设置。22Jmeter参数化-函数助手选择一个功能_Random。设定最小值为1。设定最大值为100。函数名称设为func1。点击生成将生成一个引用字符串${_Random(1,100,func1},在需要的请求参数中拷贝该字符串即可。其中函数名称用来在引用中作区别,即我们可以设定不同的名称在不同的地方引用同一个函数的功能。在JMeter中选择“选项-函数助手对话框”打开函数助手对话框,里面内置了多个函数,我们可以利用其中的_Random函数来进行请求中的参数化设置。23Jmeter参数化-CSVDataSetConfig1、名称、注释:元件的名称及注释2、ConfigtheCSVDataSource:1)Filename:csv文件的名称(包括绝对路径,当csv文件在bin目录下时,只需给出文件名即可)2)Fileencoding:csv文件编码,可以不填3)VariableNames(comma-delimited):csv文件中各列的名字(有多列时,用英文逗号隔开列名),这个变量名称是在其他处被引用的,所以为必填项。4)Delimiter(use“\t”fortab):csv文件中的分隔符(用”\t”代替tab键)(一般情况下,分隔符为英文逗号)5)Allowquoteddata?:是否允许引用数据,---这个目前还未弄明白,设置成True或者False都能正常引用数据。6)RecycleonEOF?:到了文件尾是否循环,True—继续从文件第一行开始读取,False—不再循环7)StopthreadonEOF?:到了文件尾是否停止线程,True—停止,False—不停止,注:当RecycleonEOF设置为True时,此项设置无效。24在HTTP请求的参数中经常会遇到一些参数的值是从服务器相应的动态数据,这些数据需要进行关联才能使得每一次请求都能成功得被服务器接受,在JMeter中采用正则表达式提取器来获取这些动态的数据。正则表达式允许用户从服务器响应中获取数据,作为一个后置处理器,正则表达式提取器会在每一个请求执行后再执行,正则表达式提取请求的参数值,产生模板字符串,并将结果保存到给出的变量中。Jmeter动态数据关联25Jmeter动态数据关联-正则表达式引用名称:其他地方引用提取值的变量名称,如填写的是:newhouseid,具体的引用方式是${newhouseid}正则表达式:提取内容的正则表达式【稍注意一下:()表示提取,对于你要的内容需要用小括号括起来】模板:用$$引用起来,如果在正则表达式中有多个提取表达式(多个括号括起来的东东),则可以是$1$,$2$等等,表示解析到的第几个值给str,正则表达式的提取模式,值从1开始,值0对应的是整个匹配的表达式如对于表达式s(.*)值0对应str,值1对应tr匹配数字(0代表随机):0代表随机,-1代表所有,其余正整数代表将在已提取的内容中,第几个匹配的内容。缺省值:正则匹配失败时,取的值26
本文标题:《jmeter使用入门》PPT课件
链接地址:https://www.777doc.com/doc-5930458 .html