Jmeter(二):配置元件

一、几种HTTP属性管理器

1.HTTP Cookie Manager 

功能:用来存储浏览器产生的用户信息

如果Sampler范围内有多个Cookie Manager,则目前无法指定要使用哪个Cookie Manager。此外,存储在一个cookie管理器中的cookie不可用于任何其他管理器,因此请谨慎使用多个Cookie管理器。

Clear cookie each iteration?(每次迭代时清除自己会话区域的所有cookie);

Implementation:实现方式;

Cookie Policy:cookie的管理策略,建议选择compatibility,兼容性强;

PS:对于JMeter来说,一个test plan只能有一个cookie管理器。因为当多个magager存在时,JMeter没有方法来指定使用那个manager;同时,一个cookie manager中的存储的cookie也不能被其他cookie manager所引用,所以同一个计划中不建议使用多个cookie manager;如果你想让JMeter的cookie manager支持跨域,  修改JMeter.property :CookieManager.check.cookies=false;

HTTP cookie Manager管理cookie有两种方法:

①、它可以像浏览器一样存储和发送cookie,如果发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies;每个线程都有自己的“cookie存储区域”,所以当测试一个使用cookie来管理session信息的web站点时,每个JMeter线程都有自己的session;

PS:以这种自动收集的方式收集到的cookie不会在cookie manager中进行展示,但是运行后通过查看结果树可以查看到cookie信息,接受到的cookie会被自动存储在线程变量中,但是从Jmeter2.3.2版本后,默认不再存储,如果你想要manager自动存储收集到 的cookie,你需要修改JMeter.property:CookieManager.save.cookies=true;存储的时候,cookie的key会以“COOKIE_”为前缀命名(默认情况),如果你想自定义这个前缀,修改JMeter.property:CookieManager.name.prefix= ;

②、除了上面说的自动收集,还可以手动添加cookie,点击界面下方的Add按钮,然后输入cookie的相关信息;

PS:一般不建议手动添加,可以将cookie通过浏览器插件(比如Firefox的firebug)导出cookie,然后点击界面下方的load按钮,载入刚才导出的cookie文件即可。

关于Cookie:

cookie一般分为2种:持久cookie(Permanent cookie)和会话cookie(Session cookie):

持久cookie:保存在客户端本地硬盘上,在浏览器被关闭后仍然存在;

会话cookie:通常保存在浏览器进程的会话中,一旦浏览器会话结束或关闭,cookie就不再存在。


二、HTTP Cache Manager 缓存管理器(模拟浏览器行为)

三、HTTP Header Manager 信息头管理

通常Jmeter向服务器发送http请求的时候,后端需要一些验证信息,比如说web服务器需要带过去cookie给服务器进行验证,一般就是放在请求头(header)中,或者请求传参需要定义参数格式等;因此对于此类请求,在Jmeter中可以通过HTTP信息头管理器,在添加http请求之前,添加一个HTTP信息头管理器,发请求头中的数据通过键值对的形式放到HTTP信息头管理器中,在往后端请求的时候就可以模拟web携带header信息。

PS:可以点击添加、删除按钮等来新增和删减信息头的数据,也可通过载入按钮来将信息头数据加载进去(信息头数据较多时推荐使用)

四、HTTP Request Defaults (请求默认值)

基本信息,默认http请求的值,如server、ip、port、Protocol甚至path、parameters,都可以设置

下面新增的http请求,只需要填写请求的关键数据即可,如path、parameters

注:请求默认值中可以设置代理服务器!设置成功之后可以用fidder或者其它的抓包工具反向抓取jmeter的请求!

服务器请求或IP:请求发送的目标服务器名称或地址;

端口:目标服务器的端口号,默认80;

协议:箱目标服务器发送请求所采用的协议,HTTP或HTTPS,默认HTTP;

Content encoding :内容的编码方式,默认值为iso8859;

路径:目标URL路径(不包括服务器地址和端口);

同请求一起发送参数 : 对于带参数的URL ,jmeter提供了一个简单的对参数化的方法:用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对;

从HTML文件获取所有有内含的资源:该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse 并获取HTML中包含的

所有资源(图片、flash等),默认不选中;如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,

这样,只有能匹配指定正则表达式的URL指向资源会被下载。

注意事项:

①、一个测试计划中可以有多个Defaults组件,多个Defaults组件的默认值会叠加;

②、两个default中都定义的"Server Name or IP",显示在发送请求时只能使用一个

五、HTTP授权管理器

该属性管理器用于设置自动对一些需要NTLM验证的页面进行认证和登录。如下图:监控tomcat

二、常用配置元件补充

1.JDBC Connection Configuration (数据库配置元件)

Variable Name for created pool

数据库连接池的名称,因为一个测试计划可以有多个JDBC Connection Configuration,每个可以取不同的名称。在jdbc request中通过这个名称选择合适的连接池进行使用。

Connection Pool Connetion:连接池参数配置,基本保持默认,根据需要进行修改;

Max Number of Connections: 最大连接数;如果做性能时,建议填0,如果默认为10,最大只能连接10个线程;

Max Wait(ms):最大等待时间,单位毫秒;

Time Between Eviction Runs(ms):有空闲的线程数,释放不使用的线程;

Auto Commit:自动提交,默认为true,如修改数据库时,自动commit;

Transaction isolation:事务隔离(默认);

Connection Validation by pool:验证连接池;

Test While idle:

Soft Min Evictable Idle Time(ms):

Validation Query:

Database Connection Configuration:数据库连接配置:

Database URL:数据库连接url;jdbc:mysql://localhost:3306/dbname,ipaddr:3306

JDBC Driver class:数据库驱动;com.mysql.jdbc.Driver

Username:用户

Password:密码

附上一些常用的,没用到的数据库连接配置(详情见官网:http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration):

MySQL

Driver class

com.mysql.jdbc.Driver

Database URL

jdbc:mysql://host[:port]/dbname

PostgreSQL

Driver class

org.postgresql.Driver

Database URL

jdbc:postgresql:{dbname}

Oracle

Driver class

oracle.jdbc.OracleDriver

Database URL

jdbc:oracle:thin:@//host:port/service OR jdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid})))

Microsoft SQL Server (MS JDBC driver)

Driver class

com.microsoft.sqlserver.jdbc.SQLServerDriver

Database URL

jdbc:sqlserver://host:port;DatabaseName=dbname

 2.CSV Data Set Config (参数化)

下面是参数化过程:

 

跨线程传参

 

 

文章参考:

http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_Manager

https://www.cnblogs.com/imyalost/p/7062440.html

https://www.cnblogs.com/Zfc-Cjk/p/8975683.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷凝娇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值