摘要 Badboy是一个强大的工具,被设计用于测试和开发复杂的动态应用。Badboy功能丰富(包括一个捕获/重播接口,强大的压力测试支持,详细的报告、图形)使得测试和开发更加容易。 Badboy是用来录制操作过程的,它录制的结果被jmeter做并发测试的素材使用。Jmeter是apache下的一个完全基于java开发的测试工具,可以很方便的用来进行并发测试。

Badboy提供两个模式的录制:Request(默认模式) 和navigation模式.点击下图N,切换模式,录制的区域是Badboy右半部分--内容控件区。

Step1:输入地址(http://www.baidu.com),点击录制,如上红色录制按钮 (Noted:默认配置下,点击右侧箭头请求时自动触发录制)

Step2 输入Badboy,点击百度一下

Step3  点击Badboy Software Home Page

Step4 Badboy将使用自带内置控件打开新开启的网页,点击Info

Step5 关闭窗体

Step6 再次点击Record,结束录制.

此时请观察上下2图,两个脚本区域的树状面板所展示的录制脚本的表现形式是有很大区别的。

上图为Request模式,下图为Navigation模式,录制同一个操作过程。可以发现,Navigation模式下记录的按钮或link的Text或者ID等,对界面的依赖性较大

Request模式具有如下优点:如果测试的网页模版修改了,不影响脚本的回放.如果需要badboy导出脚本到jmeter进行性能测试,必须选择request模式.

request模式的缺点如下:request模式需要添加大量的断点来检查页面上的item.

**********************************************************************************************************

Navigation模式将会记录网站交互过程中browser中的元素的点击动作.当回放navigation模式脚本时候,不但回放http request,同时badboy会模拟brower中点击动作.

navigation模式的缺点是 :无法使用navigation脚本进行性能测试,因为性能测试引擎运行时候不显示任何用户界面,所以无法执行navigation中模拟点击等动作.

Navigation录制browser的三种元素如下:  1链接点击  2按钮点击  3其他点击,例如引发javascrīpt的操作.当你记录一个点击一个元素,它使用以下逻辑来记录元素名字:

1. 如果它有一个id,然后它将记录的id 

2. 如果它有一个惟一名称,它会记录下名字  

3. 如果它是一个链接或一个按钮并具有独特并容易识别的文本(比如按钮上的标签),那么它将记录文本和区别其他元素或控件

4. 如果没有其他方法的运用,它将识别元素在浏览器DOM的位置,使用一个JavaScript表达式记录。

总结:选择navigation模式还是request模式,取决于测试的目的,如果仅仅要求测试功能而不关心界面,则request模式无疑为首选.

不过就我使用的感觉来看:

1 当软件的界面趋于稳定,还是使用N方式做回归测试比较方便。Request方式经常会不识别控件,特别是弹出的窗体,尤其对日历控件反应迟钝,比如Oracle ADF控件,报出很多no found的错

2 一定要Badboy预留出记录动作及输入值的时间,同时还要考虑网站的反应速度等因素,所以录制时一定要动作过渡慢一些,动作与动作之间干净利索

3 录完的脚本一定要跑一遍,根据观察跑的过程,再删及补录过程。 (跑脚本的课程将陆续发布)

4 录制过程要减少耦合,测试点的最小单位是Step,假设测试登陆淘宝后,删除购物车的商品,至少应该有3个Step,1 登陆 2 选择购物车 3 删除购物车的商品。这样做的好处是play脚本时,可以选择从step2 开始,而不需要重复登陆

Badboy录制的更多相关文章

  1. JMeter-使用Badboy录制Web测试脚本

    JMeter是纯Java编写的软件功能和性.能测试工具,其录制脚本过于笨拙和复杂.而Badboy是用C++开发的动态应用测试工具,其拥有强大的屏幕录制和回放功能,同时提供图形结果分析功能,刚好弥补了J ...

  2. badboy录制兼容性有趣测试

    badboy录制默认是启动IE浏览器,使用badboy录制脚本时,遇到测试系统对IE浏览器不兼容时,就需要考虑换浏览器,修改为其他浏览器(如firefox.chrome)录制,只需要设置该浏览器为默认 ...

  3. Jmeter脚本录制方法(一)——分别使用Badboy录制和Jmeter自带的代理服务器录制

    Jmeter录制方式分三种,分别是:使用Badboy录制.Jmeter自带的代理服务器录制和手工录制,今天先介绍前两种录制方法. Badboy录制 Badboy是用C++开发的动态应用测试工具, 其拥 ...

  4. 使用Badboy录制Web脚本 JMeter运行jmx脚本

    1.下载JDK 1.1 官网地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 在官网下载最新版本的JDK 1 ...

  5. Badboy录制Jmter脚本

    提纲 1.特性和用途 2.下载和安装 3.界面介绍 4.录制脚本(注意:badboy默认是打开就开始录制,需要在step双击后进行取消默认设置) 5.添加断言(参数化设置,注意:badboy默认只运行 ...

  6. 测试工具之Jmeter(使用badboy录制脚本)

    前面使用badboy工具时说过,badboy是可以录制Jmeter的测试脚本,这样省去了自己设计测试用例的麻烦 Jmeter主要是一个性能测试工具,不光在web和http,现在扩展很多功能都可以在Jm ...

  7. JMeter快速入门之Badboy录制

    1. 前言 JMeter录制有两种方式,一种是JMeter自带录制方法,另一种是下面要学习的Badboy录制,个人推荐使用此方法 下面教程不设计Badboy安装,可以百度一下. 2. 录制步骤: 2. ...

  8. Jmeter脚本录制方法(一)分别使用Badboy录制和Jmeter自带的代理服务器录制

    Jmeter录制方式分三种,分别是:使用Badboy录制.Jmeter自带的代理服务器录制和手工录制,今天先介绍前两种录制方法. Badboy录制 Badboy是用C++开发的动态应用测试工具, 其拥 ...

  9. 【jmeter】jMeter使用Badboy录制Web测试脚本

    JMeter 是纯Java编写的软件功能和性.能测试工具,其录制脚本过于笨拙和复杂.而Badboy是用C++开发的动态应用测试工具,其拥有强大的屏幕录制和回放 功能,同时提供图形结果分析功能,刚好弥补 ...

  10. Jmeter运行badboy录制的脚本

    前言 进行性能测试的站点为:在本地搭建的bugfree 一.badboy录制脚本 1.启动bugfree服务 2.打开badboy进行脚本录制 2.1.打开badboy,按下启动录制按钮,在地址栏中输 ...

随机推荐

  1. linux清除swap

    执行top会显示Cpu(s):  0.7%us,  0.3%sy,  0.0%ni, 99.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stMem:   2044500 ...

  2. net-snmp的安装

    安装环境是ubuntu 14. 方法1:apt-get install  net-snmp (非root用户需要sudo 提升权限) 方法2:自定义安装选择不同的版本去编译. 1:先去下载所需要的ta ...

  3. 012--VS2013 C++ 斜角景物地图贴图-位图

    因为bmp图片上传不了,只能截图啦 //全局变量HDC mdc;HBITMAP fullmap;//声明位图对象,在初始化函数中完成的斜角地图会保存在这个位图中const int rows = 10, ...

  4. 11.Warning (332060): Node: pi_fck3p was determined to be a clock but was found without an associated clock assignment.

    解释及措施:(1):这个信号是不是你期望的时钟信号?还是被综合器误将普通信号综合成了时钟信号?有没有在代码中用过这个信号的上升沿/下降沿? (2):如果是期望的时钟信号,那么是否有可能调整管脚位置约束 ...

  5. JSP基本知识

    JSP基本原理: JSP本质是Servlet(一个特殊的Java类),当用户向指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面.JSP通过在标准的HTML页面中嵌入Java代 ...

  6. UIProgressView swift

    // // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...

  7. IOS- 网络图片缓存到沙盒中 ,离线取出。

    一.缓存图片 //1.首先创建在沙盒中创建一个文件夹用于保存图片 NSFileManager *fileManager = [[NSFileManager alloc] init]; NSString ...

  8. VS2013中如何更改主题颜色(深色)和恢复默认的窗口布局

    1.通常情况下,我们会根据个人爱好更改VS2013的主题颜色,一开始我喜欢白色,后来我偏爱深色. 依次选择:工具->选项->常规->主题->深色->确定,ok 2.我们在 ...

  9. C语言中链表节点的实现,以及如何实现泛型

    1.C语言中的struct是纯粹的结构体,没有访问权限的概念 2.C语言中用void* 来实现泛型编程,也是C++类和模板底层实现的基础,就是用void*来实现的 #include<stdio. ...

  10. java笔试题(4)

    abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? abstract的method 不可以是static的,因为抽象的方法是要被子 ...