Jmeter(二十八) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy1(详解教程)
1.简介
在使用jmeter自动录制脚本时会产生很多无用的请求,所以推荐使用badboy录制脚本之后保存为jmx文件,在jmeter中打开使用。因此宏哥在这里介绍一下Badboy这款工具,本来打算不做介绍了,原因是因为这款工具已经不在维护和更新了,但是考虑到有些童鞋们不能手撸测试脚本,所以宏哥还是抽点时间来介绍这一款风靡一时的录制工具。
2.badboy简介
Badboy监控internet explorer的活动,提供录制/回放功能. 录制功能:badboy窗口的顶部显示当前是否处于录制状态,如果点击play按钮,badboy自动关闭录制功能,等到play结束后,可以点击recording按钮,继续录制脚本.
注意:必须等到上一步的request处理完毕后,才能点击发送下一个request,否则下一个request会作为第一个request的子frame.
1.轻量级的免费测试工具;
2.可以功能测试,主要还是性能测试;
3.可以单独进行简单任务的压力测试,也可以作为Jmeter脚本开发工具。 主要是测试人员使用。也有少量功能支持开发人员调试、自测使用。
3.下载
1. 官网地址http://www.badboy.com.au/ 以前是可以访问的,宏哥最近试了一下,不能访问了,可能是因为不更新维护的原因吧,因此宏哥提供了一个安装包,你可以自己下载安装一下,如下:
badboy安装包:链接: https://pan.baidu.com/s/1Ae3tLuP3q7301SzyXDGw2A提取码: jcg5
2. 下载后安装(傻瓜式安装,宏哥在这里就不赘述了)
3. 点击安装好的badboy的图标,你将看到Badboy的IDE界面,下图是宏哥对界面进行的简单注解,其中包括Badboy官网的一个介绍截图
4.这个是宏哥对其进行的一个详细的介绍,如下图所示:
4.界面及功能总述
4.1菜单栏
1.File: 包括常用的打开脚本,新建脚本,导出脚本,保存脚本等功能
2.Edit: 点击Edit menu下的Search/Replace将在面板中弹出如下界面,帮助我们在脚本中选择和替换功能。点击X 关闭窗口。当然我们也可以使用F3快捷键弹出此界面
3.View: 点击和再次点击,改变展示和隐藏视图区域,其中Report 功能还有3种定制供用户选择,这部分将来的课程会讲解
4.Tools: 中的功能较多,比如我们可以配置数据源自动化的填充数据到测试的系统上,特别是某些测试点值不能唯一时,从数据源读取是很普遍的方法,QTP就能便捷读取Excel的数据
5.Preferences: 我们可以在General Tab下改变系统设置 。比如:默认配置下,点击右侧箭头请求时自动触发录制,如果想取消此配置,可以去掉勾选,如下。
6. Help:
其中点击Content可以帮忙文档,我的系列文章也是基于Badboy的帮助文档进行整理和依据
4.2Tools bar:部分工具介绍
1.创建测试组,测试单元,步骤
2.录制模式: Request 和 Navigation 两种
3.运行脚本:我们也习惯称跑脚本
4.其他:打开,保持,捕捉截图,创建变量,定时等
4.3 浏览器地址栏
由于Badboy录制区域是右半部分的内容区,因此网站的起点应该在地址栏启动
4.4 脚本树
宏哥在使用早期的Badboy低版本中,只有Step的级别,在后来的不断更新和迭代中,Badboy在后来的几个版本中开始引入Suite和test的概念,这样做的好处是更明显的体现脚本的层级,测试人员一目了然,后边维护人也好接手。这里将以测试博客园的的发表随笔功能为例进行后续的所有课程的情景学习。接触过测试的童鞋们或者小伙伴们都应该理解,如果我们测试博客园,发表随笔功能只是其中一个模块的一个功能,博客园还有很多其他的功能,如下我列举了的简单功能列表和测试思路:
层级说明:如果我们都以Step为汇总所有的测试步骤,只是使用Step name或ID区分还是不容易理解和寻找,现在,我们可以将一级功能定位为Suite级别,将Test定位为测试点,Step层是测试的不同场景。当然,Badboy也没有明确规定必须使用多个Suites或Tests,只是默认增加一个Test时会自动增加下级Step,并且Test在一个树状层级上,如下图所示:
宏哥按照上班的介绍做一个发布随笔的层级,如下图所示:
增加:除了点击上边的图标,还可以这样:右击选择Add
重命名:双击名称后,将弹出对话框,可以输入新名称及描述,点击Ok,保存操作
删除:右击选择Delete
Template模板:右击选择Save as Template,使用模板可以有效的体现脚本重用的理念,例如,我们可以将有2个输入项无验证码的登录脚本保持为模板,当有其他网站也是这样的登录方式时,可以直接引入,无需再次录制。
5.小结
好了,今天就是对这款工具有一个大致的了解会用就可以了,如果想深入学习,可以查看一下英文版的使用手册,介绍的很详细。
Jmeter(二十八) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy1(详解教程)的更多相关文章
- Jmeter(二十九) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy2(详解教程)
1.简介 上一篇文中已经对Badboy做了一个基本上详细完整的介绍,这一篇宏哥带你们实战一下,这一篇主要讲解和分享:录制和运行脚本.参数化 首先让我们使用N模式录制一个脚本,测试用例编号为:1.1.1 ...
- Jmeter(二十四) - 从入门到精通 - JMeter函数 - 中篇(详解教程)
1.简介 在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化.JMeter配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好 ...
- Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
- Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)
1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...
- Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)
1.简介 JMeter是一款压力.接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,用来监控服务器资源使用情况,不过需要安装一些插件.JMeter正常自 ...
- Jmeter(二十六) - 从入门到精通 - 搭建开源论坛JForum(详解教程)
1.简介 今天这篇文章主要是给大家讲解一下,如何部署测试环境,这里宏哥部署一个开源测论坛,后边的文章中会用到这个论坛,并且也看到童鞋们在群里讨论如何在开发将测试包发给你以后,你如何快速地部署测试环境. ...
- Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)
1.简介 上一篇中宏哥已经教你把JMeter的测试环境搭建起来了,那么这一篇我们就将JMeter启动起来,一睹其芳容,首先宏哥给大家介绍一下如何来创建一个测试计划(Test Plan). 2.创建一个 ...
- Jmeter(七) - 从入门到精通 - 建立数据库测试计划实战<MySQL数据库>(详解教程)
1.简介 在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,上一篇文章宏哥主要介绍了jmeter连接和创建数据库测试计划的过程,宏哥在文中通过示例和代码非常 ...
- 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...
随机推荐
- 创建Sqlite数据库(一)
对这方面的掌握不牢,慢慢深入吧,先执行一个sqlite语句,只会简单的.输出"创建"证明创建成功 public class MainActivity extends AppComp ...
- Redis学习笔记(七)——数据结构之有序集合(sorted set)
一.介绍 Redis有序集合和集合一样都是string类型元素的机会,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.Redis正是通过分数来为集合中的成员进行从小到放大的排 ...
- Mybatis入门 Mybatis存在的意义 解决的问题 基本操作
Mybatis入门 Mybatis的作用 解决的问题 基本操作 为什么要学MyBatis 我们链接操作数据库需要做的步骤 package Test; import java.sql.*; public ...
- Java学习的第五十一天
1.例9.3 析构函数 public class Cjava { public static void main(String[]args) { Student s1=new Student(1001 ...
- Java基础知识(三)
一.hashCode 与 equals (重要) 面试官可能会问你:"你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?" 1 ...
- C语言100题集合004-统计各个年龄阶段的人数
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
- 01 . Go语言的SSH远程终端及WebSocket
Crypto/ssh简介 使用 下载 go get "github.com/mitchellh/go-homedir" go get "golang.org/x/cryp ...
- Oracle初始——第一天
一.数据库分类 1.小型数据库:access.foxbase 2.中型数据库:informix.sql server.mysql 3.大型数据库:sybase.db2.oracle 二.注释 1./* ...
- Python调用飞书发送消息
一.创建飞书机器人 自定义飞书机器人操作步骤,具体详见飞书官方文档:<机器人 | 如何在群聊中使用机器人?>
- 如何理解直播APP源码开发中的音视频同步
视频 直播APP源码的视频的播放过程可以简单理解为一帧一帧的画面按照时间顺序呈现出来的过程,就像在一个本子的每一页画上画,然后快速翻动的感觉. 但是在实际应用中,并不是每一帧都是完整的画面,因为如果直 ...