JMETER 基础

2015-04-14  厚脸皮测试 

JMETER 使用基础

JMETER是一个不错的开源性能测试工具,使用比较简单,同时功能不叫强大,对于web或者web service的测试来说,jmeter主要是构建用户的HTTP请来模拟用户操作,一下是一般Jmeter的测试流程

  • 录制请求
  • 创建线程组
  • 创建测试步骤
  • 设置同步点
  • 参数化
  • 设置监控报告

Jmeter 录制请求

  • 设置Chrome的代理服务器到localhost:8080
  • 开始Chrome录制请求
  • https请求处理

这里面其实很简单,唯一需要提一下的是如何处理https请求,有两种方法:

  • 导入SSL认证
  • 手动添加https的请求

具体如下图所示:

  1. 先下载Jmeter,然后运行JMETER, 选中工作台,右键添加非测试元件-》Http 代理服务器img

  2. 修改Chrome的代理服务器到localhost:8080,端口号和在jmeter 的代理服务器设置相同

  3. 启动JMETER HTTP serverimg

  4. 打开Chrome就可以录制请求了,进行几个请求之后,查看JMETER就可以看到工作台下面有不少请求了:

img

创建JMETER测试线程组

以上只是录制请求,JMETER的线程组才是测试过程中需要的,所以先添加线程组:

img

接下来的步骤是:

  • 从录制请求中,选择需要测试的请求,放到线程组中,顺序需要和测试顺序一致(这个比较简单,只要移动请求到线程组就可以了,后面就不做介绍了)
  • 手动添加https请求
  • 添加HTTP cookie管理器
  • 参数化测试
  • 设置请求定时器
  • 设置监听器
  • 设置线程组运行线程数,和运行方式

手动添加https请求

由于https的请求在录制过程中可能不被录制,这里暂时只讲如何手动添加https请求,以下是步骤:

  1. 右键选择线程组,添加Sampler(采样器)中的HTTP请求
  2. 填写HTTPS请求的相关内容,如果手动添加HTTP请求,其实是和HTTPS类似的,一般不同的是协议和端口
  3. 给https请求添加头(header)设置(不是必须的步骤),右键选择请求,添加配置管理器-》http信息头管理器 http 头的设置可以参考其他请求,添加只要点击添加按钮,然后输入头名和头值img

至此手动添加请求就完成了.

添加Http Cookie 管理器

由于在一系列的请求中,有些认证是通过cookie来实现的,所以添加http cookie管理器的目的就是让所有的请求共享cookie,这样就解决了如何在不同请求中传递cookie的问题,添加请求其实很方便: 右键选择线程组,添加配置管理元件-》HTTP cookie管理器就可以了,没有什么其他的特殊需求,不需要做任何的修改 ![img]

参数化测试

这个例子是登陆,所以需要参数化登陆请求,登陆请求中有两个参数,1个是用户名,1个是密码,以下是添加步骤:

  1. 右键线程组,添加配置管理元件-》CSV Data元件
  2. 设置CSV Data元件如下图:img
  3. 根据CSV data的设置,创建测试数据文件,这里例子是用,间隔参数,同时参数为两个,那么数据文件中的一行数据就是: XXX,XXXimg
  4. 修改需要参数化的请求的值,值的表达式是:{变量名},这个例子中就是{password}

设置请求定时器

定时器的设置有不少策略,最简单的就是固定定时器: 右键选择请求,添加-》定时器=>固定定时器, 也就是每个线程延迟一定时间发送请求

还有一种是Synchronizing Timer,这个定时器是说有多少个线程已经准备就绪就可以同时发送请求了img

也可以不设定时器,这样请求就随时发,或者选择其他的定时器,实际使用过程中,用户一定都会有点操作时间的,所以不设定时器造成的压力肯定会大点

设置监听器

监听器的作用主要是监听发送的请求,可以看到有什么请求是失败的,然后可以了解一些关于很多请求下的的响应时间,请求总数等等,可以认为就是一个测试结果

常用的监听器可以选择: - 查看结果树,从这里面可以看到请求实际的请求数据和返回数据 - Summary Report, 这里可以了解此次测试的总体情况,如响应时间,错误率,最慢响应时间等等 - 聚合报告,这里可以了解此次测试的总体情况,如响应时间,错误率,最慢响应时间等等

添加都是通过右键线程组,添加监听器,然后选择以上两个监听器: 结果树:imgSummaryReport:img聚合报告:img

设置线程组运行线程数,和运行方式

线程组运行的线程数,可以根据测试方案制定,一个线程可以近似的理解为一个用户的请求,这里的线程数和多少个用户在使用还是有区别的,300个线程,不代表300个实际用户,一般会比300个用户造成的压力大

img

运行测试,然后查看结果

运行Jmeter然后查看,当JMETE运行完之后就统计聚合报告里面的数据

然后可以做个报表展示一下(这个报表只是演示作用)img

338°/3386 人阅读/0 条评论 发表评论

登录 后发表评论