如何有效给jmter 自定义线程池组

Posts - 254,
Articles - 1,
Comments - 1945
大人不华,君子务实。
独立博客:
19:15 by 虫师, ... 阅读,
JMeter&介绍:&一个非常优秀的开源的性能测试工具。
优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来。
从性能工具的原理划分:
Jmeter工具和其他性能工具在原理上完全一致,工具包含4个部分:
(1)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。
(2)用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。
(3)资源生成器:用于生成测试过程中服务器、负载机的资源数据。
(4)报表生成器:根据测试中霍地的数据生成报表,提供可视化的数据显示方式。
测试计划元件
Test&Plan&(测试计划):用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。
下面看一下一个计划下面都有哪些主要的功能模块(右键单击&测试计划&弹出菜单)。
Threads&(Users)线程&用户
虽然有三个添加线程组的选项,名字不一样,&创建之后,其界面是完全一样的。之前的版本只有一个线程组的名字。现在多一个setUp&theread&Group&与terDown&Thread&Group&
1)&setup&thread&group&&
  一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。
2)&teardown&thread&group.&&
  一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。
  可能你还是不太理他们与普通的线程组有什么不同。&如果您用过junit,想必你不会对setup&,teardown这2个字眼陌生。&即时每用过,也没关系。&熟悉loadrunner的应该知道,loadrunner的脚本除了action里是真正的脚本核心内容,还有初始化&环境&的初始化脚本和测试完毕后对应的清除信息的脚本块。&那么这里&setup&thread&group&和&teardown&thread&group&就是分别指这两部分。&&其实从本质上来看,他们并没有什么不同。
3)&thread&group(线程组).
&&&&&这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
测试片段(Test&Fragment)
  测试片段是在2.5版本之后新加的一个选项。
  测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。
JMeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic&Controller),用这些原件来驱动处理一个测试。
取样器(Sampler)
&&  取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter&原生支持多种不同的sampler&,如&HTTP&Request&Sampler&、&FTP&&Request&Sample&、TCP&&Request&Sample&、JDBC&Request&Sampler&等,每一种不同类型的&sampler&可以根据设置的参数向服务器发出不同类型的请求。(在jmeter&的所有sampler&中,Java&Request&Sampler&和&Beanshell&Request&Sampler&是两种特殊的可定制的&Sampler&,后面会深入讨论。)
逻辑控制器(Logic&Controller)
  逻辑控制器,包括两类无件,一类是用于控制test&plan&中&sampler&节点发送请求的逻辑顺序的控制器,常用的有&如果(If)控制器&、switch&Controller&、Runtime&Controller、循环控制器等。另一类是用来组织可控制&sampler&来节点的,如&事务控制器、吞吐量控制器。
配置元件(Config&Element)
  配置元件(config&element)用于提供对静态数据配置的支持。CSV&Data&Set&config&可以将本地数据文件形成数据池(Data&Pool),而对应于HTTP&Request&Sampler和&TCP&Request&Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP&Cookie&Manager&可以用于对&HTTP&Request&Sampler&的cookie&进行管理)
定时器(Timer)
&  定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的&思考时间&。JMeter&定义了Bean&Shell&Timer、Constant&Throughput&Timer、固定定时器等不同类型的Timer。
前置处理器(Per&Processors)
  用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP&URL重写修复符则可以实现URL重写,当RUL中有sessionID&一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID&。
后置处理器(Post&Processors)
  用于对Sampler&发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath&&Extractor&则可以用于提取响应数据中通过给定XPath&值获得的数据。
断言(Assertions)
  &断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
监听器(Listener)
&  这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。&图行结果、查看结果树、聚合报告。都是我们经常用到的元件。
到此,我们已经简单了解了jmeter的基本组成原件,我们后序的性能测试工作也就是使用这些元件来完成测试任务。
&阅读链接:
----------------------------------------------------------------------------------
  最近工作很忙,经常加班。都没什么时间与群里朋友扯淡,最近在看几本软件测试方面的基础书,想从书里有所感悟,或看到比较好的知识点,总结出来与大家分享。可书中的内容看过即忘,不知道是所选的测试书不好,还是因为工作压力状态不好。可时间一天一天,一月一月的过去,我甚至有点强迫自己必须要有收获。
  性能测试一直是我今年的学习主轴,学习的其它知识都是在围绕着这个主轴打基础。本博客的开始的几篇就是介绍jmeter的使用,事隔一年多,再次拾起对JMeter的热情,与大家分享。JMeter JMS点到点测试计划
JMeter JMS点到点测试计划
Windows10用户联盟QQ群:
构建一个JMS点到点的测试计划
现在,让我们写一个JMeter测试计划,测试JMS点到点对点消息传递解决方案。测试设置1个线程组及1个线程或用户发送2条消息通过请求队列。&
首先,让我们启动JMeter&/home/manisha/apache-jmeter-2.9/bin/jmeter.sh.
现在,创建一个线程组,右键点击&Test Plan & Add& Threads(Users)& Thread Group. 根据测试计划节点将添加线程组。命名此主题组为&JMSTestPlan-PointtoPoint.
我们将改变循环次数为2。其余的线程组的默认属性将被保留。这意味着,一个线程或用户发送一个线程组各2条消息通过请求队列。
加入JMS的点到点取样
现在,我们已经定义了我们的用户,它是时间来定义,他们将要执行的任务。开始采样JMS点到点,点到点元素加入&(Add & Sampler & JMS Point-to-Point). 然后,选择JMS树中的点到点取样元素。以下属性进行更改的JMS点到点取样元素:
QueueuConnectionFactory
ConnectionFactory
这是默认JNDI条目内ActiveMQ连接工厂。
JNDI Name Request Queue
JMeter&JNDI名称使连接工厂和队列之间的连接。
JNDI Name Receive Queue
JMeter&JNDI名称使连接工厂和队列之间的连接。我们都使用相同的响应队列。
Communication Style
Request Response
这意味着至少需要服务运行JMeter外,将响应请求。此服务必须侦听请求队列,并发送消息引用的队列由message.getJMSReplyTo()
Use Request message ID
可以留下JMeter的使用消息ID请求传入的消息并回收之间的相关性(押金)。
Use Response message ID
可以留下使用JMeter的消息标识符响应(恢复)传入的消息和恢复之间的相关性。
Time(milliseconds)
使用此超时的消息时,如果没有收到JMeter的恢复时间(这里2秒),那么该项目将被标记错误。
Testing point to point
这仅仅是该消息的内容。
InitialContextFactory
org.apache.activemq.jndi
.ActiveMQInitialContextFactory
Active MQ标准InitialContextFactory
queue.Q.REQ
之间的对应关系的队列JNDI名称(Q.REQ)的队列中的ActiveMQ(example.A)真实姓名。
Provider URL
tcp://localhost:61616
ActiveMQ地址和端口。
下面的屏幕截图显示,上述配置:
CREATE LISTENER
Now add the Listener element. This element is responsible for storing all of the results of your JMS requests in a file and presenting a visual model of the data.
Select the Thread Group element and add a View Results Tree listener (Add & Listener & View Results Tree).
SAVE AND EXECUTE TEST PLAN
Now save the above test plan as&jmsptp_test.jmx. Execute this test plan using&Run & Start&option.
VERIFY OUTPUT
Return to the admin console of ActiveMQ, from this we can see message status in the queue.
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&君,已阅读到文档的结尾了呢~~
JMeter使用指南JMet
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
JMeter使用指南
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口  本文主要针对http接口进行测试,使用Jmeter工具实现。
  Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。
一、开发接口测试案例的整体方案:
第一步:我们要分析出测试需求,并拿到开发提供的接口说明文档;
第二步:从接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点。
第三步:和开发一起对接口测试案例进行评审。
第四步:结合开发库,准备接口测试案例中的入参数据和出参数据,并整理成csv格式的文件。
第五步:结合接口测试案例文档和csv格式的数据文档,做接口测试案例的自动化案例开发。
二、接口自动化适用场景:
&目前设计的自动化接口测试案例有两个运行场景:
  1. 测试前置、开发自测:一个新的自动化接口测试案例开发完成后,直接发给接口对应的开发,安排在开发本地环境执行,一旦开发确认完成接口开发,就开始执行接口测试案例,基本上可以实时拿到测试结果,方便开发快速做出判断。【开发本地运行的方式就是打开JMeter工具,导入JMX文件,开始执行可。】
  2. 回归测试:开发本地测试通过后,或整个需求手工测试通过后,把自动化的接口测试案例做分类整理,挑选出需要纳入到回归测试中的案例,在持续集成环境重新准备测试数据,并把案例纳入到持续集成的job中来,这些用于回归的接口测试案例需要配置到持续集成平台自动运行。
三、接口测试环境准备
 Jdk1.6或以上:
 Jmeter,下载址址:
 插件的下载安装地址:
四、创建工程:
  1、打开Jmeter:下载好Jmeter后,双击bin目录下的jmeter.bat文件:
  2、添加线程组:在&测试计划&上点击鼠标右键--&添加--&threads(Users)--&线程组,添加测试场景设置组件,接口测试中一般设置为1个&线程数&,根据测试数据的个数设定&循环次数&。
  3、添加&HTTP Cookie管理器&:
  4、添加&Http请求默认值&组件,当被测系统有唯一的访问域名和端口时,这个组件很好用:
  5、在&HTTP 请求默认值&组件配置页面,填写被测系统的域名和端口,http请求的实现包版本以及具体协议类型,线程组里的所有&HTTP Sampler&可默认使用此设置。
  6、在&线程组&里添加&HTTP 请求&的Sampler
&  7、在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表:
  8、设置检查点:在被测接口对应的&HTTP 请求&上,添加&响应断言&
  9、在设置页面上添加对相应结果的正则表达式存在性判断即可:
  10、添加监听器:方便查看运行后的结果
&  运行结果:
  上述步骤完成了一个简单测试案例的创建,复杂测试案例均在此基础上扩展完成。使用Jmeter工具开发的接口测试案例,一个子系统建议放在同一个 &测试计划&中,流程测试可以通过&线程组&来区分,这样也便于设定不同的测试数据个数。比较独立的接口,可以统一放在一个线程组内,顺序完成测试。  
  流程性接口的测试:如果要测试的接口可以组成一个流程,只需要顺序添加多个&HTTP 请求&的Sampler,各请求之间可以提取需要在上下文传递的数据作为参数,以保证流程中数据的一致性。
阅读(...) 评论()

我要回帖

更多关于 jmter响应结果xml 的文章

 

随机推荐