Jmeter 使用技巧

一、使用代理录制HTTP(web)请求

(1)创建HTTP请求默认值
1. 打开jmeter

2.jmeter中测试计划右键,新建线程组

3.右键点击新添加的线程组----添加配置元件---添加HTTP请求默认值

4.配置HTTP请求默认值

--服务器名称或IP(Server Name or IP)输入: roccoffline.easternphoenix.com

--协议(Protocol)输入:http

--端口(Port Number)输入:80

--路径(path)保留为空。

(2)、添加HTTP代理服务器

1.添加HTTP代理服务器。

--右击"工作台"→添加→非测试元件→HTTP代理服务器(HTTP(S) Test Script Recorder)。

注:HTTP(S) Test Script Recorder(教新版本)= HTTP Proxy Server (老版本)

2.配置HTTP代理服务器。

--端口(Port域):8088

--目标控制器(Target Controller):测试计划>XXXX(线程组名称)

--添加“包含模式(Patterns to Include)”:如“.*\.html”

--添加“排除模式(Patterns to Exclude)”:如“.*\.gif”

单击底部“开启(Start)”按钮,出现弹窗提示点击”确定”即可

(3)、配置浏览器代理

1.IE

--在IE浏览器中点击工具--Internet选项--连接--局域网设置--选中"为LAN使用代理服务器"。

--输入地址和端口。地址:localhost或本机的IP;端口:8088。

--最后依次点击"确定

2.Chrome

设置---高级设置--网络---更改代理服务器设置---connection- LanSetting(有扩展代理的先关闭)

3.FF 相同

 

二、使用 JMeter 分布式性能测试

作为一个纯 JAVA 的GUI应用,JMeter 对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。不过,JMeter 也可以像 LoadRunner 一样通过使用多台机器运行所谓的 Agent 来分担 Load Generator 自身的压力,并借此来获取更大的并发用户数。根据 JMeter官方文档的署名,你需要自己完成这个配置,不过不用担心,这将非常简单 ^_^

在所有期望运行 JMeter 作为 Load Generator 的机器上安装 JMeter,并确定其中一台机器作为 Controller,其他的机器作为 Agent。然后运行所有Agent 机器上的JMeter-server.bat文件——假定我们使用两台机器 192.168.0.1 和 192.168.0.2 作为 Agent;
在Controller 机器的 JMeter 安装目录下找到 bin 目录,再找到 JMeter.properties 这个文件,使用记事本或者其他文字编辑工具打开它;
在打开的文件中查找“remote_hosts=”这个字符串,你可以找到这样一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示运行 JMeter Agent的机器,这里需要修改为“remote_hosts=192.168.0.1:1664,192.168.0.2:1664”——其中的 1664 为 JMeter 的 Controller 和 Agent 之间进行通讯的默认 RMI 端口号;
保存文件,并重新启动 Controller 机器上的 JMeter.bat,并进入 Run -> Remote Start 菜单项。看到啥了?

三、如何解决 JMeter 通过 JDBC 访问 Oracle 和 MySQL 的问题

http://www.cnblogs.com/jackei/archive/2006/07/31/464001.html (留言中有 Test Plan 实例下载)

 

四、Jmeter测试结果分析

(1)使用jmeter中Assertion对结果进行简单的分类

http://www.cnblogs.com/Carrie_Liang/archive/2008/11/05/1327604.html

http://www.cnblogs.com/Carrie_Liang/archive/2008/11/10/1330997.html

(2)jtl文件的生成命令以及分析

jmeter -n -t testplan filename -l  filename
示例: jmeter -n -t testplan.jmx -l test.jtl

示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl


参数介绍

这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令,Jmeter官网用户手册介绍如下:


-h, –help       prints usage information and exit
-n, –nongui     run JMeter in nongui mode
-t, –testfile   the jmeter test(.jmx) file to run
-l, –logfile    the file to log samples to
-r, –runremote  Start remote servers (as defined in remote_hosts)
-H, –proxyHost  Set a proxy server for JMeter to use
-P, –proxyPort  Set proxy server port for JMeter to use

具体的含义如下:

-h 帮助             打印出有用的信息并退出

-n 非 GUI 模式      在非 GUI 模式下运行 JMeter

-t 测试文件         要运行的 JMeter 测试脚本文件

-l 日志文件         记录结果的文件

-r 远程执行         在Jmter.properties文件中指定的所有远程服务器

-H 代理主机         设置 JMeter 使用的代理主机

-P 代理端口         设置 JMeter 使用的代理主机的端口号

在性能测试过程中,我们往往需要将测试结果保存在一个文件当中,这样既可以保存测试结果,也可以为日后的性能测试报告提供更多的素材。

Jmeter中,结果都存放在.jtl文件。这个.jtl文件可以提供多种格式的编写,而一般我们都是将其以csv文件格式记录,这样做是因为csv文件格式看起来比较方便,更重要的是这样做可以为二次分析提供很多便利。

我这里所说的二次分析是指除了使用Listener之外,我们还可以对.jtl文件进行再次分析。

a.设置jtl文件格式

我们从jmeter官方网站中下载下来的Jmeter解压后是可以直接使用的。但是,使用默认配置生成的jtl文件内容并不能满足我们的需要。于是我们必须进行必要的设置。在2.2版本中,如果要修改jtl设置必须要到jmeter.properties文件中设置;但是在2.3版本中,我们只需要在界面上设置就可以了。你只需要选择某个Listener,点击页面中的configure按钮。此时,一个设置界面就会弹出来,建议多勾选如下项:Save Field Name,Save Assertion Failure Message。

b.jtl文件中的各项

经过了以上设置,此时保存下来的jtl文件会有如下项:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,Latency

请求发出的绝对时间,响应时间,请求的标签,返回码,返回消息,请求所属的线程,数据类型,是否成功,失败信息,字节,响应时间

其中聚合报告中的,吞吐量=完成的transaction数/完成这些transaction数所需要的时间;平均响应时间=所有响应时间的总和/完成的transaction数;失败率=失败的个数/transaction数

温馨提示:在jmeter2.2和2.3版本中,都存在的一个问题是当我们重新打开jmeter,使用某个Listener来查看jtl文件时,jmeter是会报错的。因此当你使用命令行方式完成了一个场景的测试后,你得到的只是一堆保存在jtl文件中的原始数据。所以知道聚合报告中的各项的来源是可以方便大家摆脱测试工具来进行结果的分析。

 

五、JMeter性能测试3.0时代之-多维度的图形化HTML报告

https://jmeter.apache.org/usermanual/generating-dashboard.html

http://www.aloo.me/2016/07/17/JMeter%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%953-0%E6%97%B6%E4%BB%A3%E4%B9%8B-%E5%A4%9A%E7%BB%B4%E5%BA%A6%E7%9A%84%E5%9B%BE%E5%BD%A2%E5%8C%96HTML%E6%8A%A5%E5%91%8A/

你可能感兴趣的:(自动化测试工具)