Badboy是一个用于辅助测试和开发的工具,我们可以在性能测试中结合JMeter一起使用,迅速录制/开发测试脚本。
虽然Badboy不是完全免费的,但是看你如何使用,使用得当的话,它也是一个cheap或free的产品。官网是http://www.badboy.com.au/,提供了帮助文档和下载链接。
现在网络上关于Badboy的资料相对比较少,官网上的资料好像是唯一比较详细的参考文档了。如果想要完整系统的学习并且掌握Badboy,建议对照文档好好实践。
本文总结了本人使用Badboy+JMeter结合做性能测试的一点体会,一方面总结下,方便以后参看,同时希望给同样对Badboy感兴趣的同学提供一点帮助。
好了,闲话少说,下面就正式说明使用JMete+Badboy进行快速的性能测试。
一、使用Badboy自动录制脚本
在快速进行测试开发的过程中,少不了一款自动化录制脚本的工具。鼎鼎大名的LoadRunner就是一款这样的产品,但是它是收费的而且license很昂贵。一般注重节省成本的公司很少会购买它的license。如果是涉及到web的性能测试,Badboy是一个不错的替代者。理由:其一,上手非常简单。有过使用Loadrunner进行脚本录制经验的同学,看到它的界面按钮,很容易(几乎不用看任何说明)知道如何开始录制。其二,功能也比较强大,足以使用它录制通过的web脚不能。
首先,我们来熟悉它的界面。
图1 主界面
打开Badboy应用程序后,弹出上述主界面。上面有4个按钮,这里着重说明下:
1、URL输入栏:在这里输入需要录制的网页地址,按下enter键则打开该网页,同时工具开始录制操作。我们在上面右侧看到了Badboy使用内嵌的浏览器打开了Baidu的首页。关于内嵌浏览器的设置,可以在Preference菜单下进行设置。这里不详述了。
2、录制按钮:很熟悉的感觉啊。如果该按钮处于下陷状态,说明处于录制状态中。用户可以点击它,来启动录制。
3、停止录制按钮:在录制你需哟的步骤后,点击该按钮可以结束录制。
4、添加步骤(step)按钮:可以将一个step理解为事务,比如一个登录、买入、卖出事务。使用step会非常容易管理脚本,在上图中,多个step将各个操作划分开来,一目了然。
好,现在其实你已经入门了,基本知道如何使用bb(Badboy,简称bb)录制脚本了。其他的需要自己去实践。下面介绍如何将bb脚本导出为JMeter能够识别的格式,从而在JMeter中执行性能测试。点击File/Export to JMeter菜单,即可将录制好的脚本文件导出为jmx格式,即JMeter脚本文件格式。如下图2所示:
图2 导出为JMeter脚本(jmx)
二、在JMeter中执行测试
在上一章中,介绍了使用bb录制web脚本,及导出为jmx的方法。这一章中,我们要在JMeter中对bb录制的脚本进行一些必要的加工。
首先,我们来看下新的脚本长什么样了,有没有什么结构上变化。我们不希望有结构上的变化,希望我们录制的东西被完整的保留下来。
1、测试计划
在bb界面中,菜单File/New新建的一个称为Test Suite(测试套件)的文件。导入JMeter后,则对应于JMeter的测试计划概念,其名称则显示为“Badboy Test Plan”。见下图3。
图3 Badboy Test Plan
2、线程组
在bb界面中,Test Suite的下一层级节点为Test。导入JMeter后,则对应于JMeter的线程组概念。见下图4。
图4 线程组
3、循环控制器
在bb界面中,Test的下一层级节点为Step。导入JMeter后,则自动转化为JMeter的循环控制器元件。见下图5。
图5 循环控制器
从上面3点来看,bb录制的脚本可谓是比较完美的转为JMeter脚本了。我们只需要略微做些加工,包括添加监视器、结果查看树、参数话、关联等,即可开始执行测试,这里就不再详述如何使用JMeter执行性能测试了。关于这方面的文章,网络上可谓车载斗量,多如繁星,都可以作为参考。