Jmeter - 从入门到精通 - JMeter配置元件(详解教程)
Posted du-hong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter - 从入门到精通 - JMeter配置元件(详解教程)相关的知识,希望对你有一定的参考价值。
1.简介JMeter配置元件可以用来初始化默认值和变量,读取文件数据,设置公共请求参数,赋予变量值等,以便后续采样器使用。将在其作用域的初始化阶段处理。配置元件(Config Element)提供对静态数据配置的支持,可以为取样器设置默认值和变量。 首先我们来看一下JMeter的配置元件,路径:添加-配置元件;我们可以清楚地看到JMeter5中共有19个配置元件,如下图所示: 如果上图您看得不是很清楚的话,宏哥总结了一个思维导图,关于JMeter5的配置元件类型,如下图所示: 通过以上的了解,我们对配置元件有了一个大致的了解和认识。下面宏哥就给小伙伴或则童鞋们分享讲解一些通常在工作中会用到的配置元件。 2.常用配置元件详解这一小节,宏哥就由上而下地详细地讲解一下常用的配置元件。 2.1CSV Data Set Config1、我们先来看看这个CSV Data Set Config长得是啥样子,如下图所示: 2、参数详解及说明,如下表所示:
3、Recycle on EOF 和Stop thread on EOF的关系: 当Recycle on EOF 选择true时,Stop thread on EOF选择true和false无任何意义,因为既然前面已经设置了文件是不停的循环读取,后面的控制stop就相当于失效; All threads:文件在所有线程间共享。 Identifier:所有线程共享相同的标识,共享相同的文件。如有4个线程组,测试人员可以使用一个通用ID,以便在两个或多个线程组之间共享文件。 Current thread:每个文件会针对每个线程单独打开。 Current thread group:每个文件会针对每个线程组打开一次。 2.2HTTP Header Manager支持用户添加或者重写HTTP请求头。JMeter支持多个信息头管理器。多个信息头条目合并成一个信息头列表,跟随http请求一并提交到服务端。 注意:敲黑板,敲脑壳!!! (1)当有多个信息头管理器,且不同的管理器内有名称相同的信息头条目存在时,顺序靠前的管理器的信息头条目会覆盖后面的; (2)当只有一个信息头管理器,但管理器内有名称相同的信息头条目时,会同时生效; 1、我们先来看看这个HTTP Header Manager长得是啥样子,如下图所示: 2、参数详解及说明,如下表所示:
3、常用请求头,这些一般可以抓包和在浏览器中查到,如下表所示: 2.3HTTP Cookie Manager主要有两个功能: 一个功能是:像web浏览器一样存储和发送Cookie。如果有一个HTTP请求和相应里包含Cookie,Cookie管理器会自动存储Cookie,那么接下来针对特定web站点的所有请求中使用该Cookie。可在结果树中查看。 接收到的Cookie可以被保存为变量,须定义属性"CookieManager.save.cookie=true"。另外,在被存储前Cookie名称会加上前缀“COOKIE_",要恢复早前处理方式,则定义属性”CookieManager.name.prefix="(一个或多个空格)。 如果启动了该功能,那么名称为TEST的Cookie,可以通过${COOKIE_TEST}加以引用。手动为Cookie管理器添加一个Cookie(为所有JMeter线程所共享)。 1、我们先来看看这个HTTP Cookie Manager长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.4HTTP Cache Manager被用来为其作用域内的HTTP请求提供缓存功能,如果“Use Cache-Control/Expires header When ..."选中,那么会根据当前时间来选择,如果请求是”GET",而时间指向未来,那么采样器就会立即返回,而无须从远程服务器请求URL,这样是为了模拟浏览器的操作,请注意Cache-Control头必须是“pulic”的,并且只有"max-age"终结选项会被处理,如果请求文档自从其被缓存以来没有发生任何改变,那么响应包体就会为空。 1、我们先来看看这个HTTP Cache Manager长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.5HTTP Request Defaults在实际测试计划中,我们经常会碰到Http Sampler请求有较多的参数与配置会重复,每一个Http Sampler都单独设置的话比较浪费时间和精力,为了节省工作量,JMeter提供了HTTP Request Defaults元件,用来把这些重复的部分封装起来,一次设置多次使用。可以设定一些缺省值,假设有10个请求,访问域名和端口都是一样的,那HTTP请求中就不再需要单独配置了,比较方便(增加脚本的移植性)。 这个元件可以设置HTTP请求控制器使用的默认值。例如,图中【服务器名称或IP】项目内填入了【example.com】,后面的HTTP请求如果IP也是example.com的话,那么只要将【服务器名称或IP】留空,那么这个字段将自动继承HTTP请求默认值中的值。其他诸如【协议】、【端口号】、【路径】等同此。 1、我们先来看看这个HTTP Request Defaults长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.6Counter计数器,顾名思义就是在测试执行过程中会记录迭代次数。可以在线程组任何位置创建,允许用户配置起点、最大值和增量。配置后,计数器将从起点循环到最大值,然后重新开始,直到线程结束。允许用户创建一个计数器,可在线程组中任何地方被引用。 1、我们先来看看这个Counter长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.7DNS Cache Manager1、我们先来看看这个DNS Cache Manager长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.8FTP Request Defaults被用于设置FTP请求的默认值 1、我们先来看看这个FTP Request Defaults长得是啥样子,如下图所示: 2.9HTTP Authorization ManagerHTTP认证是一种安全机制,在客户端、浏览器或者程序向服务器发起请求时,需要提供用户名和密码且验证通过(拿到凭证)才能继续发起交互。 1、我们先来看看这个HTTP Authorization Manager长得是啥样子,如下图所示: 2.10JDBC Connection Configuration1、我们先来看看这个JDBC Connection COnfiguration长得是啥样子,如下图所示: 2、关于JDBC Connection COnfiguration参数详细说明,可以参考宏哥的另一篇文章是非常详细的:传送门。 2.11Java Request Defaults1、我们先来看看这个Java Request Defaults长得是啥样子,如下图所示: 2.12Keystore Configuration1、我们先来看看这个Keystore Configuration长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.13LDAP Extended Request Defaults1、我们先来看看这个LDAP Extended Request Defaults长得是啥样子,如下图所示: 2.14LDAP Request Defaults1、我们先来看看这个LDAP Request Defaults长得是啥样子,如下图所示: 2.15Login Config Element1、我们先来看看这个Login Config Element长得是啥样子,如下图所示: 2.16Random Variable1、我们先来看看这个Random Variable长得是啥样子,如下图所示: 2、参数详细说明,如下表所示: 2.17Simple Config Element1、我们先来看看这个Simple Config Element长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.18TCP Sampler ConfigTCP采样器配置为TCP采样器提供默认数据 1、我们先来看看这个TCP Sampler Config长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
2.19User Defined Variables如果您有多个线程组,请确保对不同的值使用不同的名称,因为UDV在线程组之间共享。同样,这些变量在处理完元素之后才可用,因此您不能引用在同一元素中定义的变量。您可以引用在早期UDV或测试计划中定义的变量。 1、我们先来看看这个User Defined Variable长得是啥样子,如下图所示: 2、参数详细说明,如下表所示:
3.小结好了,今天关于JMeter的配置元件就分享到这里,其中有些常用的要熟练掌握。 您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得随手点波 推荐 不要忘记哦!!! 别忘了点 推荐 留下您来过的痕迹
以上是关于Jmeter - 从入门到精通 - JMeter配置元件(详解教程)的主要内容,如果未能解决你的问题,请参考以下文章 Jmeter - 从入门到精通 - JMeter配置元件(详解教程) Jmeter(十五) - 从入门到精通 - JMeter导入自定义的Jar包(详解教程) |