刚刚学习测试没有多久,因为工作需要接触学习badboy。那就一起聊聊badboy!
PS:此文作为学习笔记,有许多不严谨,还能包涵。
一、下载安装
1.官网地址:http://www.badboy.com.au/
2.点击download
3.点击安装
二、界面及功能
1)菜单栏
1、file:新建、打开、保存和导出脚本等
2、Edit:取消,重播,剪切,复制,粘贴,查询和替代
3、view:显示或取消显示视图区域,其中report功能有三种模式可供选择(具体还没看到了,看到了回来补充)
4、tools:功能很多,英文很差,只能复制粘贴问百度翻译或找找大佬的博客。具体,具体还没到那里
5、Proferences:系统设置
6、heip:软件文档介绍等
2)tools bar:部分工具介绍
1、创建 测试组,测试单元,步骤
2、录制模式:request和navigation两种
3、运行脚本
4、其他:打开,保持,捕捉截图,创建变量、定时等
3)浏览器地址栏:由于badboy录制区域是右半部分的内容区,因此网站的起点应该是在地址栏启动
4)脚本树
三、录制
Badboy提供两个模式的录制:Request(默认模式) 和navigation模式.点击下图N,切换模式,录制的区域是Badboy右半部分--内容控件区。
step 1:输入地址:(http://www.baidu.com),点击录制
step 2:输入合肥,点击百度一下
step 3 : 点击合肥百度百科
step 4:关闭窗口
step 5:点击record停止录制
此时请观察上下2图,两个脚本区域的树状面板所展示的录制脚本的表现形式是有很大区别
Request模式具有如下优点:如果测试的网页模版修改了,不影响脚本的回放.如果需要badboy导出脚本到jmeter进行性能测试,必须选择request模式.
request模式的缺点如下:request模式需要添加大量的断点来检查页面上的item.
**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**
Navigation模式将会记录网站交互过程中browser中的元素的点击动作.当回放navigation模式脚本时候,不但回放http request,同时badboy会模拟brower中点击动作.
navigation模式的缺点是 :无法使用navigation脚本进行性能测试,因为性能测试引擎运行时候不显示任何用户界面,所以无法执行navigation中模拟点击等动作.
Navigation录制browser的三种元素如下: 1链接点击 2按钮点击 3其他点击,例如引发javascrīpt的操作.当你记录一个点击一个元素,它使用以下逻辑来记录元素名字:
总结:选择navigation模式还是request模式,取决于测试的目的,如果仅仅要求测试功能而不关心界面,则request模式无疑为首选.
**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**
注意:以下是大神的总结
《
1 当软件的界面趋于稳定,还是使用N方式做回归测试比较方便。Request方式经常会不识别控件,特别是弹出的窗体,尤其对日历控件反应迟钝,比如Oracle ADF控件,报出很多no found的错
2 一定要Badboy预留出记录动作及输入值的时间,同时还要考虑网站的反应速度等因素,所以录制时一定要动作过渡慢一些,动作与动作之间干净利索
3 录完的脚本一定要跑一遍,根据观察跑的过程,再删及补录过程。 (跑脚本的课程将陆续发布)
4 录制过程要减少耦合,测试点的最小单位是Step,假设测试登陆淘宝后,删除购物车的商品,至少应该有3个Step,1 登陆 2 选择购物车 3 删除购物车的商品。这样做的好处是play脚本时,可以选择从step2 开始,而不需要重复登陆
》
**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**/**
四、创建suites,tests,steps和tempate
一级功能定位为Suite级别,Test定位为测试点,Step层是测试的不同场景
五、运行
右击suite ,play whole suite或是》》
六、参数化
1、输入网址:https://www.baidu.com/
2、点击录制
3、输入badboy,点击百度一下
4、停止录制
5、选中badboy左下角“Variables”,在下面空白处右键选中“Add Variable...”,打开“Variable Properties”窗口,设置参数名称和参数的value(苹果、荔枝、栗子),将New Variable改为name,current value 依次输入:苹果、荔枝、栗子 。点击 add。点击ok
6、找到kw=badboy,右键properties,将badboy改为${name},点击确定
7、右击step1,properties,选择 for each value of variable,点击确定
8、播放
七、Variable Setter
使用3种方式对list的数据进行填充
1、将在Tools Tab中的Variable Setter拖入脚本中
3、选中要作用于的变量bb
4、选择填充变量的方式:
1)固定值方式:值用英文逗号隔开
2)正则表达式法
3)读取CSV文件
5、在Fixed values的文本框中输入aa,bb,cc,dd
6、点击确定
7、再次运行脚本,play all
八、Incrementing Variables
Badboy提供Incrementing Variables工具,多样化的对参数进行值操作变化,以方便脚本运行时输入参数多需求的变化。
操作方式 | 说明 |
默认值 | 结合“值列表”和“随机整数”方式。如果变量存在值列表,然后它将使用“值列表”,否则它将使用“随机整数”方式; |
随机整数 | 根据线程id和当前时间变量随机产生一个整数,取代其他原参数值中末尾的任何数字字符。例如,“treefrog1”可能成为“treefrog65267” |
值列表 | 使用值列表中的下一个值。这个值列表可以来源于配置好的Variable Setter,一个ODBC数据源,或者是由用户手动设置. |
正整数 | 在当前值的末尾自动加1。例如,如果当前的值是“treefrog1”,然后递增将使其“treefrog2”。 |
1、 将Increment 工具拖入脚本首位,以确保其先运行
2、在弹出的属性面板中进行配置
3、点击应用,确定
4、运行Script步骤,观察Variable Tab的变化