当前位置:文档之家› jmeter安装使用及实例

jmeter安装使用及实例

jmeter使用手册

一.jmeter安装

1.首先安装jdk

1)安装

选择这个,进行下一步,下一步的安装,(请记住安装的路径:如本案例中安

装路径修改为D:\Program Files\Java\jdk1.6.0_24)

2)配置环境变量JAVA_HOME、PATH、CLASSPATH

【JAVA_HOME】:我的电脑->属性->高级->单击“环境变量”按钮->单击“系统变量”区域的“新建”按钮->在“变量名”文本框中输入JAVA_HOME,在“变量值”文本框中输入JDK的安装路径(参数名JAVA_HOME 其值为安装的jdk的路径,在本案例中为D:\Program Files\Java\jdk1.6.0_24

【PATH】:在系统变量中查看PATH变量,如果存在PATH,则在最末尾多添加一个%JAVA_HOME%\bin;(直接添加,连;也加上,无需加空格之类的,以下相同)。如果不存在,则新建变量PATH,设定变量值为:%JAVA_HOME%\bin;

【CLASSPATH】:在系统变量中查看CLASSPATH变量,如果存在CLASSPATH,则在最末尾添加%JAVA_HOME%lib\dt.jar;%JAVA_HOME%\lib\tools.jar;。如果不存在,则

新建一个,设定变量值为%JAVA_HOME%lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

3)验证安装成功

完成以上步骤后,开始验证是否安装成功。运行CMD(开始,运行,输入cmd,

回车),输入java -version (java 和-version 之间有空格)若如下图所示显示

版本信息则说明安装和配置成功。

2.安装jmeter

选择这个文件,放在一个目录下,如:D:\Program

Files\Java下,运行jemeter\apache-jmeter-2.12\bin下的Jmeter.bat文件

即可,如下图打开界面所示:

二.jemert使用

1.建立测试计划;

1.1步骤:

打开jmeter默认打开的已经建立了测试计划

1.2相关说明:

2建立线程组;

2.1步骤:

选择测试计划->添加-Threads(users) 线程组;建立的线程组需要设置,并发用户

2.2相关说明

线程数:设置发送请求的用户数目即虚拟虚拟用户

Ramp-up period:每个请求发生的总时间间隔,单位是秒。比如你的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5,也就是2秒(设置为1,表示同时并发)

3.建立http请求;

3.1步骤

选择线程组—>添加->Sampter->Http请求;,

3.2相关说明

建立http请求后需要填写相关信息:服务器ip,端口,接口名称,参数,以及参数值,http 的请求方式post)

3建立参数化;

3.1步骤:

选择线程组—>添加->配置元件->CSV Data Set Config;

3.2相关说明:

1)首先需要建立一个csv文件:

例如在F盘的贴心闹钟参数文件夹下建立一个csv文件,该文件的名字为denglu.csv,该文件中有两列,第一列是用户名,第二列是密码。(注:文件中直接为值,没有参数化名称哦)

2)修改参数化denglu.csv的相关信息:a修改路径;b.修改参数化的变量名:cmd,msg

Config the CSV Data Source:

1)Filename:csv文件的名称(包括绝对路径,当csv文件在bin目录下时,只需给出文件名即可)

2)File encoding:csv文件编码,可以不填

3)Variable Names(comma-delimited):csv文件中各列的名字(有多列时,用英文逗号隔开列名),这个变量名称是在其他处被引用的,所以为必填项。

4)Delimiter(use “\t” for tab):csv文件中的分隔符(用”\t”代替tab键)(一般情况下,分隔符为英文逗号)

5)Allow quoted data?:是否允许引用数据,---这个目前还未弄明白,设置成True或者False都能正常引用数据。

6)Recycle on EOF?:到了文件尾是否循环,True—继续从文件第一行开始读取,False—不再循环

7)Stop thread on EOF?:到了文件尾是否停止线程,True—停止,False—不停止,注:当Recycle on EOF设置为True时,此项设置无效。

8)Sharing mode:共享模式,All threads –所有线程,Current thread group—当前线程组,Current thread—当前线程。这个地方和LoadRunner中的迭代取之相反,经试验得出来的结果是:

【All threads】:测试计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。

【Current thread group】:当前线程组,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行。

【Current thread】:当前线程。假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行。

3)修改http中参数化

a.添加变量名称

b.修改参数值

需要参数化的项的Value处,用${参数名}代替;

如本例中由于csv data set config 设置中,参数变量名为msg和cmd,所该案例中参数化的值为${cmd}、${msg}

4.建立资源资源监控

4.1步骤:

选择线程组—>添加->监听器->Jp@gc-Perfmon Metrics Collector

4.2相关说明

填写监控机子的IP,端口默认都是4444不需要修改,选择监控资源的类型

运行起来的结果,都是表示使用率为百分之多少。

补充说明,服务器监控,需要将插件放在服务器上,需要的插件

解压后得到

选择JMeterPlugins-1.0.1-RC2\ServerAgent-2.2.1文件夹下启动startAgent.bat(liunx下启动startAgent.sh)

5建立聚合报告

5.1步骤

选择线程组—>添加->监听器->聚合报告

5.2相关说明

Label:每个JMeter 的element(例如HTTP Request)都有一个Name 属性,这里显示的就是Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average:平均响应时间——默认情况下是单个Request 的平均响应时间,当使用了Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间Median:中位数,也就是50%用户的响应时间

90% Line:90%用户的响应时间

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了Transaction Controller 时,也可以表示类似LoadRunner 的Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec 6.建立查看结果树

6.1步骤:

选择线程组—>添加->监听器->查看结果树

6.2相关说明:

选择某个请求,选择【响应数据】选项卡,可以看到每个请求的返回值,是否成功

选择某个请求,选择【请求】选项卡,可以看到每个请求的传参值

选择某个请求,选择【取样器结果】选项卡,可以看到每个请求的相关信息Thread Name: 线程组名称 Sample Start: 启动开始时间

Load time: 加载时长 Latency: 等待时长

Size in bytes: 发送的数据总大小 Headers size in bytes: 发送头大小

Body size in bytes: 发送数据的其余部分大小 Sample Count: 发送统计Error Count: 交互错误统计 Response code: 返回码

Response message: 返回信息 Response headers: 返回的头部信息

7.建立表格查看结果

7.1步骤:

选择线程组—>添加->监听器->表格查看结果

7.2相关说明

8.执行

8.1步骤:

把所有文件保存成功,选择菜单选项【运行】 【启动】或者直接点击运行按钮。

8.2相关说明:

每次在启动前,需要停止所有线程,防止上次未完成的线程会对本次执行有影响。并且需要清理上次保存在【聚合报告】【表格查看结果】【结果树】的数据,防止累加请求数量。

三.补充资料

1.设置线程数的另一种方案

1.1步骤:

将该文件放置D:\jmeter\apache-jmeter-2.12\lib\ext 文件夹下,重启jmeter

添加—选择“jp@gc-stepping thread group”

1.2相关说明:

修改相关信息,来设置运行情况

2.建立Http Cookie管理

2.1步骤:

选择线程组—>添加->配置元件->Http Cookie管理

2.2相关说明:

现在对于JMeter来说,一个测试计划只能有一个cookie管理器。因为当多个magager存在时,JMeter目前还没有方法来指定使用那个manager。同时,一个cookie manager中的存储的cookie也不能被其他cookie manager所引用,所以同一个计划中不建议使用多个cookie manager

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

他可以像浏览器一样存储和发送cookie,如果你要发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies。每个JMeter线程都有自己的“cookie存储区域”,

所以当你测试一个使用cookie来管理session信息的web站点时,每个JMeter线程都有自己的session。

注意:

以这种自动收集的方式收集到的cookie不会在cookie manager中进行展示,但是运行后,通过:查看结果树(监听器)可以查看到cookie信息。

早期的JMeter版本(2.3.2或更早)对与cookie的管理是支持跨域的,也就是说不同域名的网站都可以使用cookie manager中的cookie,2.3.2版本之后,这个就不可以了,必须同源,才能共用cookie,如果你想让JMeter的cookie manager支持跨域,修改JMeter.property文件(在本例中该文件的位置为D:\Program Files\Java\apache-jmeter-2.12\bin 文件夹下

):

CookieManager.check.cookies=false

接受到的cookie会被自动存储在线程变量中,但是从Jmeter2.3.2版本后,默认不再存储,如果你想要manager自动存储收集到的cookie,你需要修改JMeter.property文件: CookieManager.save.cookies=true

存储的时候,cookie的key会以“COOKIE_”为前缀命名(默认情况),如果你想自定义这个前缀,

修改JMeter.property文件:

https://www.doczj.com/doc/8d18273392.html,.prefix=

这个配置如果未启用(也就是维持默认),我们可以通过一下方式获取到cookie的值:${COOKIE_name},其中name为cookie的名称

除了上面说的自动收集,我们还可以手动添加cookie,这里,笔者要给大家一个建议,尽量不要一个一个手动去填写,我们可以结合firefox的插件firebug,直接将cookie导入,操作如下

打开firebug,如图

点击红色框中的,下拉框中有个导出本站点的cookie,就可以将cookie信息保存为一个cookies.txt文件,接着打开jmeter 的cookie manager:

载入刚才导出的cookies.txt文件即可。

相关主题
文本预览
相关文档 最新文档