JMeter学习概要.doc_第1页
JMeter学习概要.doc_第2页
JMeter学习概要.doc_第3页
JMeter学习概要.doc_第4页
JMeter学习概要.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JMeter工具1. Jmeter的基本介绍官网:/ JMeter是Apache组织开发的基于Java的压力测试工具,开源的性能测试工具。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。Jmeter插件:/ Jmeter不需要安装,直接从网站上下载二进制包,解压到任意目录下即可使用,可以在Windows、Linux和Mac等平台上运行,在Windows上需要执行bin目录下的jmeter.bat;在Linux平台上需要执行bin目录下的jmeter.sh。1.1. 断言断言就类似LoadRunner中的检查点。对上一个请求返回的信息,做字符串、数据包大小、HTML、XML、图片等做判断,确保返回的信息的准确性。在每个http请求下,添加响应断言,如:登录做断言,就是登录后的界面中包含的字符、或数据等(已登录)1.2. 配置元件 配置元件的作用:用于提供对静态数据配置的支持。1) HTTP Cookie 管理器:负责管理整个测试过程中使用的cookie,它不需要设置任何属性。2) CSV Data Set config 可以将本地数据文件形成数据池,参数化设置。1.3. 定时器定时器用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。1)固定定时器:设置线程延迟XX毫秒,延迟3秒在执行登录操作 作用是:调整每个请求的频率。1.4. 监听器 监听器的作用:以各种不同方式收集测试结果1) jpgc - Response Times Over Time:响应时间这个图表将显示为每个采样器的平均响应时间,以毫秒为单位,正常情况如下:2) jpgc - Hits per Second:服务器每秒点击率3) jpgc - PerfMon Metrics Collector:服务器性能监测控件,包括cpu,memory内存,network I/O网络I/O,Disks I/O磁盘I/O等。4) 聚合报告Label:说明是请求类型,如Http,FTP等请求。Samplers:请求所发的数量,总共发送到服务器的样本数目;Average:平均响应时间,做压力负载等测试的一个参考依据,是否在可接受的范围内。总运行时间除以发送到服务器的请求数;Median:图形报表中的中间值,代表时间的数字,有一半的服务器响应时间低于该值,而另一半高于该值;即50 用户的响应时间90%line:是指90%请求的响应时间比所得数值还要小(90%用户的响应时间)Min:最小的响应时间;Max:最大的响应时间;Error%:请求的错误百分比;Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求;QPS 如下:退出平均每分钟31.6次; KB/sec:是每秒钟请求的字节数。5) 用表格查看结果 各属性如下:Sample:每个请求的序号;Start Time:每个请求的开始时间;Thread Time:每个线程的名称;Label:Http请求名称;Sample Time:每个请求所花时间,单位为毫秒;Status:请求状态,如果为勾表示成功,如果为叉表示失败;Bytes:请求的字节数;样本数目:上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数。平均:每个线程请求的平均时间;最新样本:表示服务器响应最后一个请求的时间;偏离:服务器响应时间的变化,离散程度测量值的带下,或者说数据的分布。值越小越好,一般几百。6) 察看结果树,一般作为调试用,到真正需要执行查看图形分析时,把它禁止掉。7) jpgc - L Uploader:L上传1.5. Sampler1) JSR223 Sampler 当前使用是获取并打印查看正则表达式提取的数值,如: 可通过查看打印日志:选项-Log Viewer2. 简单的JMeter使用操作如下:第一步:添加“线程组”,设置线程组参数;( 如果多于1个线程组,执行时是并行执行的 )平均点击率(如何计算),并用总线程除点击率来计算初始的ramp-upperiod。例如,假设线程数为100,估计的点击率为每秒10次,那么估计的理想ramp-upperiod就是100/10=10秒。那么应怎样来提出一个合理的估算点击率呢?没有什么好办法,必须通过运行一次测试脚本来获得。(若ramp-upperiod为零,JMeter将立即建立所有线程)第二步:添加HTTP COOKie 管理器(配置元件里),网站有登录限制的需要用到记录用户信息。第三步:线程组-添加sampler-HTTP请求,见图2; 一个Sampler通常进行3部分工作:向服务器发送请求、记录服务器的响应数据和记录响应时间信息; 请求方法一般使用POST,Get不安全;图2第四步:HTTP请求-添加监听器-查看结果树或用表格查看结果、聚合报告等;第五步:运行查看结果。 2.1. 参数化设置 参数化:指对每次发起的请求,参数名称相同,参数值进行替换,如登录三次系统,每次用不同的用户名和密码。2.1.1. 从csv文件读取(CSV Data Set Config)步骤:1) 新建一个文本文件,里面保存登录名和密码,如下:Admin,123Test,test这里选用英文逗号为分隔符,也可在CSV Date Set Config中设置。2)通过Test Plan或线程组的Add-Config Element 配置元件-CSV Data Set Config添加。 3)在http请求中变量格式:$参数值,就是Varible Names中设置的名称 Filename:同目录下csv文件的名称 或者 文件路径地址 File Encoding: 默认为ANSI Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用 Allow Quoated data: 双引号相关 Recycle on EOF: 设置为True后,允许循环取值 Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行 Sharing Mode: 设置是否线程共享2.1.2. 使用函数助手 Jmeter中有一个函数助手功能,内置多个函数,我们可以利用其中的_Random函数来进行请求中的参数化设置。操作如下:(1) JMeter中选择“选项-函数助手对话框”,打开该窗口(2) 选择一个功能:-Random 设定最小值为1,设定最大值为100 函数名称设为func1(看个人取) 点击“生成”将生成的一个引用字符串$_Random(1,100,func1),在需要的请求参数中拷贝该字符串即可。如下图所示:2.1.3. 用户自定义变量右击某个结点-添加-前置处理器-用户参数,可以在这里添加参数,手动输入,然后再需要用到的地方引用。2.2. 动态数据关联关联:与系统交互过程中,系统返回的内容,需要在接下来的交互中用到,如防止csrf攻击而生成的token。2.2.1. 从前一个请求中取,用Regular Expression Extractor 正则表达式提取器注:写在一个请求的下面位置:在具体的http请求-后置处理器-正则表达式v 引用名称:其他地方引用提取值的变量名称,如填写的是:str,具体的引用方式是$str。v 正则表达式:提取内容的正则表达式 【稍注意一下:( )表示提取,对于你要提取的内容需要用小括号括起来】v 模板:用$引用起来,如果在正则表达式中有多个提取表达式(多个括号括起来的东东),则可以是$1$,$2$等等,表示解析到的第几个值给str,正则表达式的提取模式,值从1开始,值0对应的是整个匹配的表达式 如对于表达式s(.*) 值0对应str,值1对应trv 匹配数字(0代表随机):0代表随机,-1代表所有,其余正整数代表将在已提取的内容中,第几个匹配的内容。v 缺省值:正则匹配失败时,取的值下一步操作是在另一个HTTP请求引用该变量3. 用函数助手测试随机访问多个链接测试 以本地的网站:00操作步骤:(1) 建一个txt文件,如:(2) 选项-函数助手对话框-选择_ StringFromFile函数 该函数的功能是从一个文件中取到一个字符串。 在http请求中,将生成的字符串填入URL之中。4. 测试结果上传L登陆网站,进入一下页面:将上图中的Token复制到监听器中的Upload Token处,如下:然后运行Jmeter,执行结束后在可以看到相应结果,如下:5. 脚本录制使用第三方录制方式或代理录制方式第三方采用:.au/ 通过badboy来录制,录制后另存为jmx格式即可。使用代理录制操作如下:1) 创建线程组,添加HTTP请求默认值,如下在服务器或IP名称中输入如: J,路径空白;2) 添加逻辑控制器-录制控制器;3) 选择工作台,右击添加非测试元件-HTTP代理服务器4) 在包含模式下输入“ .*.html ”;5) 在HTTP代理服务器下添加监听器-查看结果树;6) 在HTTP代理服务器界面,底部按钮点击“启动”;7) 配置浏览器使用Jmeter的代理服务器,选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论