JMeter基本元素简介
JMeter基本元素简介
一、测试计划
测试计划对象有一个复选框叫做“Functional Testing”(函数测试模式),假如选中,它将使jmeter记录服务端返回的每一个样例的数据,假如你在测试监听器中选择了一个文件,数据将会写到这个文件。假如你正在运行一个很小的测试来确保jmeter配置正确,这是非常有使用的,你的服务器也返回了希望的结果。得到的结论是,这个文件会快速的变的很大,jmeter性可以将受到影响。
假如你正在做压力测试,这个选项建议关掉(它默认是关掉的)。
假如你没有记录数据到文件,这个选项不会有效果。你也能在监听器中配置哪些字段要存储。
image1
二、线程组
线程组元素是任何测试计划的开始点。所有的控制器和样本器必需在一个线程组下。其余元素,例如:监听器能直接放在测试计划下,这样的话,它将应使用于所有的线程组。顾名思义,线程组元素控制着线程的数量,jmeter将用这些线程执行你的测试。线程组的管理允许你做如下的事情:
- 设置线程的数量;
- 设置提升的周期;
- 设置执行测试的次数;
每一个线程都将独立于其余线程,完整的、完全的执行测试计划。多个线程被使用来模拟并发连接到服务应使用。提升周期告诉jmeter花费多长时间提升到所有的线程数,假如线程数设置为10,提升周期设置为100秒,jmeter将花费100秒唤起10个线程并且运行。每一个现场将在前一个线程开始10(100/10)秒后开始。假如有30个线程,提升周期设置为120,每一个连续的线程将会推迟4秒。提升周期需要足够的长以避免测试开始时,巨大的工作负载,并且使得最后一个线程开始间隔第一个线程结束足够的短。
提升周期 = 线程的数量做上下调整
默认的,线程组配置只执行一次。线程组也提供了一个调度器。点击线程组底部的复选框,能使额外的区域有效或者失效,那些区域能输入测试的周期、启动推迟、启动开始时间和结束时间。你能配置持续时间和启动推迟控制每一个线程组的持续时间和多少秒后启动。当测试开始后,jmeter将等待启动推迟时间后,启动启动线程组中的线程,并且执行配置的持续时间。这两个选项将覆盖掉配置的开始时间和结束时间。或者者(尽管没有推荐哪个更适合)你能设置其余的两个域,开始时间和结束时间。当测试开始以后,jmeter等待到达开始时间。在每一个周期的结尾,jmeter检查结束时间能否已经到达,假如到了,运行将中止,否则,测试将继续进行直到循环结束。
image2
三、控制器
jmeter有两种类型的控制器:样本器和逻辑控制器。他们驾驭着测试的进程。样本器告诉jmeter发送请求给服务,例如:增加http请求样本,假如你想jmeter发送http请求。你也能通过给样本器增加一个或者多个配置元素定制请求。逻辑控制器让你定制逻辑,jmeter用这个逻辑决定什么时候发送请求。例如:你能增加交替逻辑控制器交替执行两个http请求样本。
3.1 样本器
样本器告诉jmeter发送请求给服务并且等待相应。他们按照在树中出现的顺序执行。控制器能使用来修改样本器的重复次数。jmeter的样本器包含:
- FTP Request
- HTTP Request (can be used for SOAP or REST Webservice also)
- JDBC Request
- Java object request
- JMS request
- JUnit Test request
- LDAP Request
- Mail request
- OS Process request
- TCP request
每一个样本器都有几个能设置的属性。你能在测试计划中增加一个或者更多的配置元素定制样本器。假如你打算发送同一种类型的多个请求到相同的服务,能考虑用默认的配置元素。每一个控制器都有一个或者多个默认元素。记得为你的测试计划增加一个监听器来观看和存储每一个请求的结果到硬盘上。假如你对jmeter平台的响应的基本验证感兴趣,增加一个断言器到样本器。例如:压力测试一个web应使用,服务返回一个成功的http响应码,但是页面可可以有错误或者者缺失了一部分。你能增加断言器确定http的标签。通使用的错误字符串等。jmeter让你通过正则表达式创立断言器。
image3
3.2 逻辑控制器
逻辑控制器能改变来自子元素的请求顺序。他们能修改自己的请求,使jmeter重复请求。为了理解测试计划中逻辑控制器的效果,看一下下面的测试树:
image4
这个测试计划的第一个事情就是只执行一次的登录请求,随后的迭代将跳过这一步,这是仅执行一次控制器的效果。登录之后,下一个样本器将加载搜索页,这是一个简单的请求,没有通过逻辑控制器。加载搜索页之后,我们想执行一次搜索。实际上我们想执行两个不同的搜索,可是,我们想在两次搜索之间重新加载搜索页,我们能通过4个简单的http请求元从来执行(加载搜索页、搜索A、加载搜索页、搜索B)。在这里,我们用代替方案,用交替控制器,它一次传递一个子请求通过测试,它保持着子元素的顺序。交替两个子请求可可以过于频繁了,但它也能很容易的有8个,或者者20个子请求。
提示一下,http默认请求 是属于交替控制器的,设想一下,搜索A和搜索B共享相同的路径信息,两个搜索请求,命中相同的后台搜索引擎。相比配置两个相同信息的http样本器,我们能笼统出信息到一个单一的配置元素。当交替控制器传递请求时,它会使用http默认请求中的值去填充空白项。所以我们将那些请求的PATH项空白,把这些信息放到配置元素中。这充其量只是一个小小的好处,但是它展现了这个特性。
树中的下一个请求是另外一个http默认请求,这次是增加到线程组本身。线程组有一个内嵌的逻辑控制器。它用这个元素像上面形容的那样。它填充当何请求的空白信息。它在web测试中非常的有使用,在你所有的http请求样本器中省去域名项,把这些信息放到http默认请求元素中,并增加到线程组中。你能在不同的服务上测试你的应使用,而仅仅修改一个配置项,否则你要编辑每一个样本器。
最后一个元素是http cookie管理器,cookie管理器应该增加到所有的web测试中,否则jmeter将会忽略cookie,将他增加到线程组的级别,我们确保了所有的http请求共享相同的cookie。
四、测试碎片
测试碎片元素是一个特殊类型的控制器,它存在测试计划树中,和线程组有相同的级别。它区别与线程组的地方就是除非它包含在板块控制器或者者include控制器,否则他不会被执行。
这个元素就是为了测试复使用的。
五、监听器
监听器提供了访问jmeter收集的测试使用例的信息。图结果监听器在图上绘制响应的次数。视图结果树展现请求和响应的细节,还能显示响应的xml和html。其余的监听器提供总结和聚集的信息。
另外的,监听器能将数据传输的文件中为以后用呢。jmeter的每一个监听器都能指定文件的路径。也有一个配置按钮能选择哪个文件保存。监听器能在测试的任何地方增加,直接包含在测试计划下。它自从它的这个级别以下的元素中获取数据。
image4
JMeter的少量基础元素详情完了,下一篇将详情如何用。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » JMeter基本元素简介