zoukankan      html  css  js  c++  java
  • 【转】Jmeter + DadBoby 安装使用

    一直接触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%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;%JMETER_HOME%liblogkit-2.0.jar; 然后确定。
      然后到Jmeterin下运行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: est.dat,点击生成并复制${__CSVRead(c: est.dat,)}
      找到需参数化的页面--将复制的${__CSVRead(c: est.dat,)}粘贴到参数化值的位置。
      2,检查点:
      检查对对象设置:右键点击某页面---->添加---->断言---->响应断言
      检查结果:添加一个断言结果,右键点击页面---->添加---->监听器---->断言结果
      还可以再添加一个“查看结果树” 右键点击我们的“登录”页面---->添加---->监听器---->查看结果树
      3,集合点设置:
      右键点击 step1---->定时器---->Synchronizing Timer,这样子就添加了一个“集合点”,如果发现集合点的位置不对,可发随需要插入到相应位置。
    4,关联:
      方法一,从前一个请求中取,用正则表达式提取器。
      具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器
      引用名称即下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
      正则表达式中()括起来的部分就是要提取的。.代表任意字符,*代表出现任意次。
      模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给title。
      匹配数字,0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。
      方法二,用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。
      在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。
      引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。
      XPath query,即xpath的表达式,要符合xpath的语法。
  • 相关阅读:
    java微信开发
    LeetCode题目解答
    LeetCode 题目总结/分类
    http://baldtheme.com/theme/cleanizr/html/ 类似于这样的
    发现UC/OS-III源码有一处不明白!会不会是BUG.高手过来看看!
    hibernate hbm2ddl auto 不能创建表的问题
    Can jxta be used to develop online card game (p2p style)?
    父子对等组之间的关系
    WScript中调用js方法
    7-wonders-in-java
  • 原文地址:https://www.cnblogs.com/blongfree/p/4980812.html
Copyright © 2011-2022 走看看