JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用。将在其作用域的初始化阶段处理。
- CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理众多变量
- Variable Names:变量名列表(逗号分隔)。JMeter2.3.4以后的版本,支持CSV标题行,如果变量名为空,那么文件的第一行将被读取,并被解释为列名的列表。这些变量名必须使用分割符加以区分,他们可以使用双引号加以引用。默认情况下,该文件仅打开一次,而每个线程会使用文件中不同的数据行。至于数据行传递给线程的顺序,依赖于他们执行的顺序,数据行在每次测试循环的开始阶段读取,文件名和模式在第一次循环时解析。
- Delimiter:默认逗号
- Allow quoted data?: CSV文件是否容许值被引用
- Recycle on EOF?: 达到文件结尾后,是否从文件开始循环重新读取(默认True),当到达文件尾时,且Recycle选项设置为True,就会从文件第一行重新开始读取,如果设置为false,而Stop thread on EOF?是False,那么当到达文件尾部时所有变量都将被置为<EOF>,可以通过设置JMeter属性csvdataset.eofstring来改变该值。如果Recycle选项为false,而Stop thread是True,那么到达文件尾部之后,将导致线程被终止。
- Stop thread on EOF?:达到文件结尾后,线程是否该终止。
- Sharing mode:如果希望每个线程拥有自己独立的值集合,那么就需要创建一系列数据文件,为每个线程准备一个数据文件,如test1.csv、test2.csv等,使用文件名test${__threadNum}.csv,并将“sharing mode"设置为"Current thread"
- All threads:文件在所有线程间共享
- Current thread group: 每个文件会针对每个线程组打开一次
- Current thread: 每个文件会针对每个线程单独打开
- Identifier:所有线程共享相同的标识,共享相同的文件。如有4个线程组,测试人员可以使用一个通用ID,以便在两个或多个线程组之间共享文件。
注意:CSV Dataset变量在每次测试循环的初始阶段定义,由于定义发生在配置处理完成之后,所以他们不能用于一些配置元件(如JDBC Config),以便在配置时处理他们的内容。可在HTTP Auth Manager中正常使用。
- FTP Request Defaults:被用于设置FTP请求的默认值
- HTTP授权管理器:可以帮助测试人员指定针对Web页面的一个或多个登录。如果没有定义,HTTP客户端采样器默认使用pre-emptive校验,要禁止这一功能,做如下设置: jmeter.propertied中:设置 httpclient.parameters.file=httpclient.parameters httpclient.parameters中:设置 http.authentication.preemptive$Boolean=false ,上面的设置只影响HTTPClient采样器(SOAP采样器,也使用HTTPClient). 注意,如果在一个采样器的作用域范围内有多个授权管理器,那么目前没办法确认JMeter使用哪个授权管理器。
- Base URL: 一部分或者完整的URL,用于匹配一个或者多个HTTP 请求URL。例如:指定一个Base URL(http://jakarta.apache.org/restricted/),对应用户名“jmeter",密码”jmeter".如果测试人员发送一个HTTP请求到 URL(http://jakarta.apache.org/restricted/ant/myPage.html),授权管理器就会发送用户名为"jmeter"登录信息
- username:校验用的用户名
- Password:该用户的密码
- Domain:针对NTLM使用的域
- Realm:针对NTLM使用的realm
- HTTP Cache Manager:被用来为其作用域内的HTTP请求提供缓存功能,如果“Use Cache-Control/Expires header When ..."选中,那么会根据当前时间来选择,如果请求是”GET",而时间指向未来,那么采样器就会立即返回,而无须从远程服务器请求URL,这样是为了模拟浏览器的操作,请注意Cache-Control头必须是“pulic”的,并且只有"max-age"终结选项会被处理,如果请求文档自从其被缓存以来没有发生任何改变,那么响应包体就会为空。
- HTTP Cookie管理器:主要有两个功能:
- 它像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线程所共享)。
- HTTP请求默认:设置HTTP请求使用的默认值
- HTTP信息头管理器:可添加或者重载HTTP请求头,JMeter目前支持多个信息头管理器,信息头目将被合并起来构成采样器列表。如果一个待合并条目匹配一个已经存在的信息头名,那么它就会替代目前的条目,除非条目值是空,在这种情况下已经存在的条目会被移除,这容许用户设置一系列默认信息头,并对特定采样器加以调整。
- Name(header):请求头的名称,经常用到的两个通用请求头 “User-Agent" 和”Referer"
- Value:请求头的值
- 登录配置元件:为采样器添加或重载用户名和密码。
- 用户定义的变量:定义初始化一系列变量。都在初始化阶段处理。因此有些变量不能引用。
- Random Variable:被用来产生随机数字字符串,接下来将其存放到变量之中。
- Variable Name: 变量名,用于保存随机字符串
- output format: 使用java.text.DecimalFormat格式字符串,例如”000"会产生至少3个数字的随机数,或者“USER_000"产生的输出格式为USER_nnn,如果不指明,就是用long.toString()来产生数字
- Minimum Value: 产生随机数的最小值(整数)
- Maximum Value:
- Seed for Random function:随机数产生器的种子,默认为当前时间(以毫秒为单位)
- Per Thread(User)?: 如果为False,则随机数产生器在线程组的所欲线程共享,为True,则每个线程都有自己的随机数产生器。
- 计数器:容许用户创建一个计数器,可在线程组中任何地方被引用
- 简单配置元件:可以在采样器中添加或者重载任意值