一直接触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. scala学习手记9 - =和==

    = 赋值运算 scala的赋值运算和java的有着很大的不同.如a=b这样的赋值运算,在Java中返回值是a的值,在scala中返回的则是Unit(Unit是值类型,全局只存在唯一的值,即(),通常U ...

  2. angular-ui-bootstrap各版本下载地址

    http://www.bootcdn.cn/angular-ui-bootstrap/

  3. python学习笔记(excel+requests)

    已经可以对excel简单的操作后 可以开始通过excel写测试用例 读取用例 执行用例 提前写好execl 如图: 下面是代码: #!/usr/bin/env python # -*- coding: ...

  4. Confluence 6 配置系统属性

    在这个页面中描述 Confluence 启动时如何设置 Java 属性和其他选项. 请查看 How to fix out of memory errors by increasing availabl ...

  5. 四十三 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理

    1.映射(mapping)介绍 映射:创建索引的时候,可以预先定义字段的类型以及相关属性elasticsearch会根据json源数据的基础类型猜测你想要的字段映射,将输入的数据转换成可搜索的索引项, ...

  6. sha1加密

    SHA-1是一种数据加密算法,该算法的思维是接纳一段明文,然后以一种不可逆的方式将它转换成一段(一般更小)密文, 也能够简略的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短.位数固定的 ...

  7. python 超时异常处理

    异常处理具体见:[循序渐进学Python]9.异常处理 环境平台:Python2.7.9 + Win8.1 本篇记录一下自己写爬虫的遇到的问题,程序中批量获取图片地址,然后批量保存.由于没有设置网址打 ...

  8. LeetCode OJ:Three Sum(三数之和)

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  9. laravel5表单验证

    学习laravel框架有一段时间了,觉得它自带的表单验证特别好用,和大家分享分享 对于一些验证规则手册上都有,相信大家看了就会,我简单的说下怎么使用自定义正则验证: 验证手机号:'tel' => ...

  10. Android常见面试笔试题目

    Android常见面试笔试题目 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 答:可以处理消息循环的线程,他是一个拥 ...