一直接触LR比较多,这阵子突然想了解一下开源的性能测试工具,无意中接触到了Jmeter+Badboy,这两款工具对于想进行性能测试,但又对LR高额的商业费用望而止步的小公司可谓是再适合不过了。
  自已小结一下:
  JMeter是纯Java编写的功能与性能测试工具,但其录制脚本过于笨拙复杂,成为使用者的诟病。Badboy是用C++开发的,被用于测试和开发复杂的动态应用。 它提供了强大的屏幕录制和回放功能,同时也提供了丰富的图形结果分析功能。只要不用于商业目的就可以免费使用。因此这两工具的结合,就成为了绝配。你可以 用Badboy录制脚本,然后将录制的脚本导出为JMeter格式的脚本,最后将该脚本导入到JMeter,借助于JMeter强大的测试功能模拟大量的 虚拟用户,进行复杂的性能测试。
  1. 安装Badboy
  下载地址 http://badboy.com.au/download/index,按网页提示输入name/email/company等后下载标识为recommended的那个版本。
  这是一个可执行程序,下载之后双击,根据安装向导安装。
  2. 安装Jmeter
  http://jmeter.apache.org/选择Download Releases --点击下载Binary: apache-jmeter-2.7_src.zip(注意zip包才是适合windows系统的,其中Source是可以看到源码的包,如果不需要查看源码可以只下载Binary下的zip包。)下载后解压;
  安装Jmeter需本地安装JDK及配置好环境变量,详细配置如下:
  解压apache-jmeter-2.7_src.zip至C盘c:\apache-jmeter-2.7目录下,桌面选择”我的电脑“(右键)--高级--环境变量,在”系统变量“---”新建“,在变量名中输入:JMETER_HOME,变量值中输入:c:\apache-jmeter-2.7,再修改CLASSPATH变量,变量值中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar; 然后确定。
  然后到Jmeter\bin下运行jmeter.bat即可打开Jmeter
  3. 用Badboy录制脚本并到处为JMeter格式的脚本
  在开始菜单中启用Badboy,点击工具栏上的红色圆饼按钮,开始录制,然后在URL框中输入你要测试站点的URL。随便点击几个链接,然后点击工具栏上的黑色方框按钮,停止录制。最后点击 File –>Export to JMeter… ,将录制的脚本导出为Jmeter格式的脚本。
  4. 启用JMeter,导入Badboy录制的脚本,并设置测试计划,开始测试
  然后点击 文件 –>打开,在文件管理器中选择你刚导出的Badboy录制的脚本。
  Jmeter和LR一样有着录制脚本、参数化、检查点、集合点、设置关联、场景等。
  1,Jmeter参数化:
  先准备一个dat文件保存在本地,然后选择”选项“---函数助手---__CSVRead--输入dat文件保存的路径如C:\test.dat,点击生成并复制${__CSVRead(c:\test.dat,)}
  找到需参数化的页面--将复制的${__CSVRead(c:\test.dat,)}粘贴到参数化值的位置。
  2,检查点:
  检查对对象设置:右键点击某页面---->添加---->断言---->响应断言
  检查结果:添加一个断言结果,右键点击页面---->添加---->监听器---->断言结果
  还可以再添加一个“查看结果树” 右键点击我们的“登录”页面---->添加---->监听器---->查看结果树
  3,集合点设置:
  右键点击 step1---->定时器---->Synchronizing Timer,这样子就添加了一个“集合点”,如果发现集合点的位置不对,可发随需要插入到相应位置。
4,关联:
  方法一,从前一个请求中取,用正则表达式提取器。
  具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器
  引用名称即下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
  正则表达式中()括起来的部分就是要提取的。.代表任意字符,*代表出现任意次。
  模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给title。
  匹配数字,0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。
  方法二,用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。
  在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。
  引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。
  XPath query,即xpath的表达式,要符合xpath的语法。

【转】Jmeter + DadBoby 安装使用的更多相关文章

  1. Jmeter之安装(一)

    Jmeter Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 小七这边之前用jmeter ...

  2. Jmeter下载安装配置及使用(windows)

    1 前言 仅作为记录使用. 2 步骤 2.1 下载地址:http://jmeter.apache.org/download_jmeter.cgi 2.2 选择binary版本即可:apache-jme ...

  3. centos7 jmeter分布式安装

    step1 环境说明:腾讯云主机--> centos7  1主2从 下面使用内网 IP master节点:10.21.11.6 slave1节点:10.21.11.44 slave2节点:10. ...

  4. 【Jmeter自学】JMeter的安装(一)

    ==================================================================================================== ...

  5. 挨批记后记--Jmeter环境安装

    挨批之后的艰难挣扎: 首先说所要造的数据是性能测试任务的创建,而创建任务还需要先创建场景,场景则又牵涉到jmx文件... 经过搜索后发现jmx文件通过jmeter生成,所以软件的安装就开始了.. jm ...

  6. Jmeter入门--安装教程

    jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动 ...

  7. Jmeter+Badboy安装使用文档

                  Jmeter+Badboy安装使用文档       目录   1.jmeter安装    1 2.Jmeter基础使用    3 3. 使用Jmeter进行分布式测试    ...

  8. 3.1、Ubuntu系统中jmeter的安装和目录解析

    ​以下内容亲测,如果不对的地方,欢迎留言指正,不甚感激.^_^祝工作愉快^_^ Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测 ...

  9. JMeter的安装和目录解析

    Ubuntu系统中jmeter的安装和目录解析 作为一个Linux新手,在使用jdk时,或许会安装配置多次仍然导致无法使用情况(如无法登录系统等),请按如下步骤一步一步安装并配置 相关软件下载地址 J ...

随机推荐

  1. combox datagrid重复请求问题

    html代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url:然后又调用js初始化代码请求一次url ...

  2. Memcached 连接

    我们可以通过 telnet 命令并指定主机ip和端口来连接 Memcached 服务. 语法 telnet HOST PORT 命令中的 HOST 和 PORT 为运行 Memcached 服务的 I ...

  3. ZZ__知识点

    1. DLL_PROCESS_ATTACH.DLL_PROCESS_DETACH 打印出相关信息 发现,Java Project 项目中,DLL 在 System.loadLibrary(...) 载 ...

  4. JQuery小知识点代码

    1.链式操作 $(function(){ /*var oDiv = $('#div1'); oDiv.html('hello'); oDiv.css('background','red'); oDiv ...

  5. hdu 5981 Guess the number

    Guess the number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 160000/160000 K (Java/Other ...

  6. Neutron的防火墙原理

    确切的说这是fwaas,即防火墙即是服务. 防火墙与安全组区别防火墙一般放在网关上,用来隔离子网之间的访问.因此,防火墙即服务也是在网络节点上(具体说来是在路由器命名空间中)来实现. 安全组的对象是虚 ...

  7. WCF基础:绑定(二)

    在WCF的绑定体系中,经常会碰到ICommunicationObject接口,无论是IChannel接口还是IChannelListener/IChannelFactory接口都继承了ICommuni ...

  8. 【河南第十届省赛-B】情报传递

    题目描述 抗日战争时期,在国共合作的大背景下,中共不断发展壮大,其情报工作也开始由获取警报性.保卫性信息,向获取军政战略性情报转变.各系统情报组织遵循"荫蔽精干,长期埋伏,积蓄力量,以待时机 ...

  9. 模拟form提交数据

    最近在做一个项目,发现ajax不能enctype=”multipart/form-data” 属性的表单,没办法,只能使用form表单直接提交的方法了,但是form表单直接提交会跳转页面,这样很不友好 ...

  10. Leetcode 938. Range Sum of BST

    import functools # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, ...