这篇是安装完成后,进行一个简单的测试环境搭建,主要是方便大家了解大概流程与框架~
首先了解一下测试计划的基本概念♥
测试计划是使用JMeter进行测试的起点,它是其他JMeter测试元件的容器。
名词解释:
- 名称:为当前的测试计划取一个有意义的名字,以便区分于其他计划。
- 注释:对测试计划的注释。
- 用户定义的变量:用户可以自己定义变量,在用到此变量的时候直接用${变量名}引用即可。
例:变量名=url,值=http://www.jianjiexuan.com,在需要http://www.jianjiex.com时直接用${url}即可。
- Add directory or jar to classpath:向类路径即%JMETER-HOME%\lib中添加目录及jar包。
1、添加线程组,设置线程组参数
线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。线程组是为模拟并发负载而设计。
名词解释:
- 名称:为线程组起的名字,以便区分。
- 线程数:虚拟用户数。设置发送请求的用户数目,即并发数。
- Ramp-Up Period(in seconds):线程间的时间间隔,单位为s。即所有线程在多少时间内启动。如有8个线程,Ramp-Up = 4秒,那么线程的启动时间间隔为4/8=0.5秒(一秒启动2个线程),这样的好处是:一开始不会对服务器有太大的负载。如果Ramp-Up = 0秒,表示同时并发请求。
- 循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为100,那么每个线程发送100次请求。总请求数为20*100=2000。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。循环次数不能为0,会一直加压导致崩溃。
- 调度器:可以设置启动时间和结束时间
2、选中线程组右击添加smapler取样器-HTTP请求
配置请求参数,最基本是填写web服务器ip及端口号、协议以及路径
名词解释:
- 名称:HTTP请求的名字,本属性用于标识一个取样器,建议使用一个有意义的名称。
- 注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
- 服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址。
- 端口号:目标服务器的端口号,默认值为80 。
- 协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https,默认值为http 。
- 方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
- Content encoding:内容的编码方式,默认值为iso8859
- 路径:目标URL路径(不包括服务器地址和端口)
- 自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter自动重定向到新的页面。
- Use keep Alive:当该选项被选中时,jmeter和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。
- Use multipart/from-data for HTTP POST:当发送HTTP POST请求时,使用Use multipart/from-data方法发送,默认不选中。
- 同请求一起发送参数:在请求中发送URL参数,对于带参数的URL,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的名称1=值1)。
- 同请求一起发送文件:在请求中发送文件,通常HTTP文件上传行为可以通过这种方式模拟。
- 从HTML文件获取所有有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。(新版中则在Advanced中查看)
- 用作监视器:此取样器被当成监视器,在Monitor Results Listener中可以直接看到基于该取样器的图形化统计信息。默认为不选中。
- Save response as MD5 hash:选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。
3、选中线程组右击添加监听器
添加:一般添加图形结果、聚合报告、用表格察看结果、察看结果树,结果可以保存,.jtl文件可以提供多种格式的编写。
我们可以在右侧点击“Configure”进行一些设置,如图所示,除了默认的,我们一般还选择“Save Field Name,Save Assertion Failure Message”
ps:如果需要保存详细的响应结果,需要选择“Save Response Data(xml)”,然后重新命名为xml格式,用浏览器打开就行
聚合报告对应名词解释:
jmeter中的响应时间都是以ms为单位
4、执行前保存测试计划
5、选择线程组,点击运行
♦Jmeter使用过程中其他注意事项
◊在真正生产环境下尽量不要使用消耗时间与内存的部分组件,如Lisener(监听器)要越少越好。
◊通常所有web测试都要支持Cookie,一般放在线程组一级,可添加配置元件→HTTP Cookie Manager(HTTP Cookie管理器)
◊为了符合实际情况,http请求中Advanced下面的从HTML文件获取所有内含的资源必须勾选(解析所有的嵌入资源)
♥一些快捷键的使用
〉停止(Ctrl+。):立即停止所有线程,有可能报错。
〉关闭(Ctrl+,):要求线程在当前工作完成后停止,这项操作不会中断任何采样器的工作。(建议使用)
〉关闭(非GUI):shutdown
〉停止(非GUI):stoptestnow
〉清理(Ctrl+e):清理测试结果
〉运行(Ctrl+r):运行测试计划