JMeter基础之—录制脚本

Jmeter 是一个非常流行的性能测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细;很它的优点也有很多:

  l       开源,他是一款开源的免费软件,使用它你不需要支付任何费用,

  l       小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java开发的工具。

  l       功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。因为它的开源性,当然你也可以根据自己的需求扩展它的功能。

我觉得它更像一个瑞士军刀,小巧,且功能齐全。初次认识Jmeter的时候,我觉得它不好,是因为相比LR来说,它没有脚本录制功能,也许不是没有,只是我不知道,因为文档上介绍的是这样,我要做一个web性能测试的话,就手动的一个个添加循环控制器、http信息管理头、http请求等等各种元件。如果测试的脚本较多时,这无疑是个体力活。

       Badboy是一款不错web自动化测试工具,利用它来录制脚本,并且录制的脚本可以直接保存为JMeter文件来使用。我无疑给我们带来了很大我方便。

----------------------我的环境------------

Badboy  version 2.1.1

Apache  JMeter-2.3.4 (需要JDK环境来运行)

--------------------------------------------

第一种方法:通过bodboy来录制脚本。

 注:只录制接口,不会录制图片等

1.打开人badboy工具,点击工栏目上的红色圆形按钮,在地址栏目中输入被测试项目的地址。

 

 

 

 

录制完成后,点击工具栏旁边黑色按钮,结束录制。

选择“文件”--àExport to Jmeter…

 

 

 

 

 

 

2.打开Jmeter工具,选择“文件”-->“打开”选择刚才保存的文件(.jmx类型),将文件导入进来了。

 

 

 

 

 

 

第二种方法,通过JMeter自身设置来录制脚本。

 

注:录https效果不好

1.       打开JMeter工具

创建一个线程组(右键点击“测试计划”--->“添加”---->“线程组”)

创建一个http代理服务器(右键点击“工作台”--->“添加”--->“非测试元件”--->“http代理服务器”)

目标控制器:决定将来录制的脚本放在哪个目录(我们把测试计划看成一颗目录树的话,这个目录就是树中的一个节点)。我们可以在【测试计划】-【线程组】下面添加节点,然后指定脚本放在此节点。如下图,我们在【线程组】下添加了【简单控制器】节点,然后我们就可以在“目标控制器”处选择它。
分组:录制脚本时将会增加很多节点,这些节点我们可以给它分组,便于查看与管理。对于HTTP请求我们可以把每一个URL看成是一个组,这样更好理解。

不对样本分组:罗列出录制到的所有HTTP请求。
在组间添加分隔:加入以分割线命名的简单控制器。
每个组放入一个新的控制器:每个URL产生的请求放在一个控制器下。
只存储每个组的第一个样本:我们知道一个URL产生的HTTP请求可能不只一个,一张图片、一个样式表都会是一个HTTP请求,录制时将会产生很多的http请求,但是有时我们测试时会考虑缓存,实际上一些图片不用每次下载,我们也不关心这些图片产生的负载,我们可以根据实际情况选择忽略他们,只录制产生动态数据的http请求
Put each group in a new transaction controller:通俗点说就是每个URL的请求放入一个事务中,不管它有多少个HTTP请求,只要这个URL请求产生的

记录HTTP头信息:把Header头信息也录制下来。

添加断言:通俗讲就是检查点,在录制时加入空的检查点,后续我们需要自己填写断言规则。

Regex matching:检查点用正则表达式来匹配内容。

如何排除我们不需要的信息呢?看下图

例如:在包含模式里我们可以填“.*\.jsp”,意思是只在请求JSP文件时录制脚本

在排除模式上填“.*\.js”,在请求js文件时不录制脚本(通常js png gif css php woff 这些类型的文件都是不需要的)

这样可以根据实际情况来过滤自己不需要的文件
完整的设置参照下图:

 

 

 

 

2.  下面来设置一下IE浏览器

IE--->“internet属性”--->“连接”--->“局域网设置”

 

 

 

设置为本机IP就可以了,注意端口号要与Jmeter上的端口号一致。默认都是8080端口。

3.   现在点击jmeter上的“启动”按钮,打开浏览器输入需要录制web项目地址,jmeter会自动记录你IE所访问的页面。

 

 

 

PS:第二种方法是我刚才知道的一种,关于这两种方法哪个更好,现在还不知道,但第二方法有通过IE浏览器辅助的,我想可能只要IE能打开的,它都能记录,但它录制的脚本看上去比较乱(感觉上)

还就是http代理服务器的设置,(比如:分组:每一个组放入一个新的服务器---只有这一个选项才能正常录制),有时间再仔细比较一下两种方法的不同之处。

posted @ 2021-10-09 16:49  rmticocean  阅读(639)  评论(0)    收藏  举报