jmeter使用实操虫师.pdf

上传人:b****1 文档编号:3210426 上传时间:2022-11-20 格式:PDF 页数:66 大小:2.44MB
下载 相关 举报
jmeter使用实操虫师.pdf_第1页
第1页 / 共66页
jmeter使用实操虫师.pdf_第2页
第2页 / 共66页
jmeter使用实操虫师.pdf_第3页
第3页 / 共66页
jmeter使用实操虫师.pdf_第4页
第4页 / 共66页
jmeter使用实操虫师.pdf_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

jmeter使用实操虫师.pdf

《jmeter使用实操虫师.pdf》由会员分享,可在线阅读,更多相关《jmeter使用实操虫师.pdf(66页珍藏版)》请在冰豆网上搜索。

jmeter使用实操虫师.pdf

JMeter基础之录制脚本2011-08-2012:

49by虫师,10914阅读,11评论,收藏,编辑Jmeter是一个非常流行的性能测试工具,虽然与LoadRunner相比有很多不足,比如:

它结果分析能力没有LoadRunner详细;很它的优点也有很多:

开源,他是一款开源的免费软件,使用它你不需要支付任何费用,小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java开发的工具。

功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。

因为它的开源性,当然你也可以根据自己的需求扩展它的功能。

我觉得它更像一个瑞士军刀,小巧,且功能齐全。

初次认识Jmeter的时候,我觉得它不好,是因为相比LR来说,它没有脚本录制功能,也许不是没有,只是我不知道,因为文档上介绍的是这样,我要做一个web性能测试的话,就手动的一个个添加循环控制器、http信息管理头、http请求等等各种元件。

如果测试的脚本较多时,这无疑是个体力活。

Badboy是一款不错web自动化测试工具,利用它来录制脚本,并且录制的脚本可以直接保存为JMeter文件来使用。

我无疑给我们带来了很大我方便。

-我的环境-Badboyversion2.1.1ApacheJMeter-2.3.4(需要JDK环境来运行)-第一种方法:

通过第一种方法:

通过bodboybodboy来录制脚本。

来录制脚本。

1.打开人badboy工具,点击工栏目上的红色圆形按钮,在地址栏目中输入被测试项目的地址。

录制完成后,点击工具栏旁边黑色按钮,结束录制。

选择“文件”-ExporttoJmeter2.打开Jmeter工具,选择“文件”-“打开”选择刚才保存的文件(.jmx类型),将文件导入进来了。

第二种方法,通过第二种方法,通过JMeterJMeter自身设置来录制脚本。

自身设置来录制脚本。

这种方法是我才发现的(鄙视一下自己的无知,嘻嘻!

),觉得方法比较简单。

1.打开JMeter工具创建一个线程组(右键点击“测试计划”-“添加”-“线程组”)创建一个http代理服务器(右键点击“工作台”-“添加”-“非测试元件”-“http代理服务器”)完整的设置参照下图:

2.下面来设置一下IE浏览器IE-“internet属性”-“连接”-“局域网设置”设置为本机IP就可以了,注意端口号要与Jmeter上的端口号一致。

默认都是8080端口。

3.现在点击jmeter上的“启动”按钮,打开浏览器输入需要录制web项目地址,jmeter会自动记录你IE所访问的页面。

PS:

第二种方法是我刚才知道的一种,关于这两种方法哪个更好,现在还不知道,但第二方法有通过IE浏览器辅助的,我想可能只要IE能打开的,它都能记录,但它录制的脚本看上去比较乱(感觉上)还就是http代理服务器的设置,(比如:

分组:

每一个组放入一个新的服务器-只有这一个选项才能正常录制),有时间再仔细比较一下两种方法的不同之处。

Jmeter基础之-jmeter基础概念2012-12-2119:

15by虫师,5245阅读,3评论,收藏,编辑JMeter介绍介绍:

一个非常优秀的开源的性能测试工具。

优点优点:

你用着用着就会发现它的重多优点,当然不足点也会呈现出来。

从性能工具的原理划分从性能工具的原理划分:

Jmeter工具和其他性能工具在原理上完全一致,工具包含4个部分:

(1)负载发生器:

用于产生负载,通常以多线程或是多进程的方式模拟用户行为。

(2)用户运行器:

通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。

(3)资源生成器:

用于生成测试过程中服务器、负载机的资源数据。

(4)报表生成器:

根据测试中霍地的数据生成报表,提供可视化的数据显示方式。

测试计划元件测试计划元件TestPlan(测试计划测试计划):

用来描述一个性能测试,包含与本次性能测试所有相关的功能。

也就说本的性能测试的所有内容是于基于一个计划的。

下面看一下一个计划下面都有哪些主要的功能模块(右键单击“测试计划”弹出菜单)。

Threads(Users)线程)线程用户用户虽然有三个添加线程组的选项,名字不一样,创建之后,其界面是完全一样的。

之前的版本只有一个线程组的名字。

现在多一个setUpthereadGroup与terDownThreadGroup1)setupthreadgroup一种特殊类型的ThreadGroup的,可用于执行预测试操作。

这些线程的行为完全像一个正常的线程组元件。

不同的是,这些类型的线程执行测试前进行定期线程组的执行。

2)teardownthreadgroup.一种特殊类型的ThreadGroup的,可用于执行测试后动作。

这些线程的行为完全像一个正常的线程组元件。

不同的是,这些类型的线程执行测试结束后执行定期的线程组。

可能你还是不太理他们与普通的线程组有什么不同。

如果您用过junit,想必你不会对setup,teardown这2个字眼陌生。

即时每用过,也没关系。

熟悉loadrunner的应该知道,loadrunner的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块。

那么这里setupthreadgroup和teardownthreadgroup就是分别指这两部分。

其实从本质上来看,他们并没有什么不同。

3)threadgroup(线程组).这个就是我们通常添加运行的线程。

通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。

线程组中包含的线程数量在测试执行过程中是不会发生改变的。

测试片段(测试片段(TestFragment)测试片段是在2.5版本之后新加的一个选项。

测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。

它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

控制器JMeter有两种类型的控制器:

取样器(sample)和逻辑控制器(LogicController),用这些原件来驱动处理一个测试。

取样器(取样器(Sampler)取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter原生支持多种不同的sampler,如HTTPRequestSampler、FTPRequestSample、TCPRequestSample、JDBCRequestSampler等,每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。

(在jmeter的所有sampler中,JavaRequestSampler和BeanshellRequestSampler是两种特殊的可定制的Sampler,后面会深入讨论。

)逻辑控制器(逻辑控制器(LogicController)逻辑控制器,包括两类无件,一类是用于控制testplan中sampler节点发送请求的逻辑顺序的控制器,常用的有如果(If)控制器、switchController、RuntimeController、循环控制器等。

另一类是用来组织可控制sampler来节点的,如事务控制器、吞吐量控制器。

配置元件(配置元件(ConfigElement)配置元件(configelement)用于提供对静态数据配置的支持。

CSVDataSetconfig可以将本地数据文件形成数据池(DataPool),而对应于HTTPRequestSampler和TCPRequestSampler等类型的配制无件则可以修改Sampler的默认数据。

(例如,HTTPCookieManager可以用于对HTTPRequestSampler的cookie进行管理)定时器(定时器(Timer)定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。

类似于LoadRunner里面的“思考时间”。

JMeter定义了BeanShellTimer、ConstantThroughputTimer、固定定时器等不同类型的Timer。

前置处理器(前置处理器(PerProcessors)用于在实际的请求发出之前对即将发出的请求进行特殊处理。

例如,HTTPURL重写修复符则可以实现URL重写,当RUL中有sessionID一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID。

后置处理器(后置处理器(PostProcessors)用于对Sampler发出请求后得到的服务器响应进行处理。

一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。

例如,XPathExtractor则可以用于提取响应数据中通过给定XPath值获得的数据。

断言(断言(Assertions)断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。

监听器(监听器(Listener)这个监听器可不是用来监听系统资源的元件。

它是用来对测试结果数据进行处理和可视化展示的一系列元件。

图行结果、查看结果树、聚合报告。

都是我们经常用到的元件。

到此,我们已经简单了解了jmeter的基本组成原件,我们后序的性能测试工作也就是使用这些元件来完成测试任务。

JMeter基础之-元件的作用域与执行顺序2012-12-2722:

20by虫师,2609阅读,0评论,收藏,编辑前面有介绍过jmeter的元件类别,对于新手来说,jmeter的元件是还是不少的,如果我们按照每一个元件的每一个参数的含义去学习,无疑会降低学习性能测试的热情,就算我们熟悉了所有元件以及元件上的参数了,我们也不知道如何将其组合成我们想要描述的性能测试。

另一方面,我们点击每个节点上的元件都会出现类似或相同的菜单,他们的层级关系是什么样的。

究竟这个元件放在哪个层级的哪个位置才达到我们意愿。

如何更快速的入门jmeter,个人建议通过录制脚本的方式,快速的了解一个性能测试应该包括的元件以及它们的层级关系。

关于录制方式,请参考JMeter基础之录制脚本如下,我通过badboy工具录制的一个脚本(脚本过程:

登录126邮箱,给自己发一封邮件,祝自己圣诞快乐!

),并可以方便的将脚本导出为jmx格式,这也是jmeter脚本的格式,所以可以被jmeter识别并导入。

脚本导入到jmeter后,我添加了两个监听器(查看结果树),因为我添加监听器的位置不同,他们的作用域也是不一样的。

前一个只能监听到页面的请求,后一个侧对所有的http请求进行监听。

元件的作用域元件的作用域先来讨论一下元件有作用域。

Jmeter基础之-jmeter基础概念一章中,我们介绍了8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(configelements、timers、post-processors、assertions、listeners、)需要与取样器(sampler)等元件交互。

配置元件(配置元件(configelements)元件会影响其作用范围内的所有元件。

前置处理程序(前置处理程序(Per-processors)元件在其作

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

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1