1、使用Badboy录制JMeter脚本

打开Badboy工具开始进行脚本录制。

(1)当我们打开Badboy工具时,默认就进入录制状态。

如下图:

当然我们也可以点击录制按钮,进行状态的切换。

(2)在地址栏中输入被测地址,并访问。

我们以访问京东为例:

在输入栏中输入京东网址,点击后边的小箭头,跳转到被测地址中。

当点击箭头后,记录一步操作(相当于创建了一个取样器),并在右侧视图中显示被测网址的内容,如下图:

(3)在视图中可以直接操作显示出来的内容。

就和我们平时访问网站一样的,例如:我点击“请登陆”,就会跳转到京东的登陆页面了。

同时脚本目录树中就会继续添加一步操作。

(4)停止录制脚本。

如果一个测试流程录制完成之后,我们就可以点击停止录制。

就是点击工具栏中的小红点,如下图:

(5)保存录制好的脚本文件。

点击File —> Export to JMeter...,把脚本文件保存到你需要的位置,方便进行管理,JMeter文件的默认格式是.jmx格式的文件。

(6)在JMeter中打开刚刚保存的脚本文件

点击文件 —> 打开,找到刚刚保存的脚本文件进行打开,如下图:

说明:所有录制的内容都在Step 1中,这个组件叫录制控制器

(7)添加监听器

使用Badboy录制的JMeter脚本,是不带监听器的。

这里我们需要手动添加一个监听器,方便查看结果。

(8)在JMeter中启动脚本

在工具栏中点击绿色启动箭头来运行该脚本。

脚本运行完成之后,可以在"察看结果树"中查看该测试计划中所有请求与响应的结果。

2、使用Badboy参数化配置

Badboy为方便自动化数据灵活性,提供了脚本参数化的功能。

像上面的例子中是没有输入性操作在里边的,如果我访问的是百度,需要输入一些搜索关键词信息,这个时候就需要参数化配置了。

(1)打开Badboy工具,默认就进入录制状态。

(2)在地址栏中输入被测地址,并访问。

例如:访问京东网站,搜索需要的商品。

(3)在百度搜索栏中输入搜索关键词“手机”,并点击搜索。

点击搜索:

(4)点击停止录制按钮,并开始修改。

展开上一步搜索商品增加的脚本目录树:

需要修改两处:

1)如果输入的关键字信息出现乱码的情况。

Badboy默认使用系统的IE浏览器,出现乱码的话,将ie属性的utf8改为gbk。例如,京东网站的ie属性为enc属性。

双击enc属性(在该属性上右键选择Properties选项也可以),在弹出的窗口中进行修改,

如下图所示:

(GBK大小写都可以)

注意:你电脑默认的浏览器是什么编码,就换成它对应的编码即可,这样就可以不乱码。

2)配置输入的参数信息

例如:在京东页面中,keyword属性就是关键词信息。

双击keyword属性(在该属性上右键选择Properties选项也可以),修改Value属性为${自定义的变量名},点击确定。

然后开始配置变量的参数信息,步骤如下图所示:

此时keyword属性的值,已被参数化。

(5)双击Step 1,进行修改

选择For each value of vari,表示以每个变量定义的值为准(也就是使用参数化)。

此时查看脚本树的变化,如下图:

(6)保存脚本,并用JMeter打开该脚本,运行即可。

也可以在Badboy中,右键点击Test 1 —> Play Whole Test,执行该录制的脚本,查看执行效果。

3、解决“当前页面的脚本发生错误”提示框

Badboy 录制脚本的时候,总是弹出如下弹框提示“当前页面的脚本发生错误”。

打开Badboy —> preferences —> 点击playing —> 勾选Javascript Error Dialogs,然后重新Badboy工具即可。

勾选“JavaScript Error Dialogs” ,意思是自动处理/抑制JavaScript错误对话框。

提示:如果以后在录制JMeter脚本的时候,出现如上的弹窗,我们直接点击叉子关闭即可。

4、总结

使用Badboy工具录制的脚本,相对于使用JMeter自身工具录制的脚本,更加精简,更加干净。

但是Badboy工具录制脚本的时候,经常出现无法录制脚本的提示,是非常不友好的。

JMeter自身自带的录制工具,兼容性就非常的好,就是录制的取样器非常的多,需要自己优化。

总结:以上都是Badboy最基础的用法,还有很多的功能以后在工作中慢慢学习、慢慢积累。

『动善时』JMeter基础 — 46、使用Badboy工具录制JMeter脚本的更多相关文章

  1. 『动善时』JMeter基础 — 6、使用JMeter发送一个最基础的请求

    目录 步骤1:创建一个测试计划 步骤2:创建线程组 步骤3:创建取样器 步骤4:创建监听器 步骤5:完善信息 步骤6:保存测试计划 步骤7:查看结果 总结:JMeter测试计划要素 当我们第一次打开J ...

  2. 『动善时』JMeter基础 — 58、JMeter分布式测试

    目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在 ...

  3. 『动善时』JMeter基础 — 7、jmeter.properties文件常用配置

    目录 1.默认语言设置 2.配置默认编码格式 3.GUI图标放大比例设置 4.功能区工具栏图标大小设置 5.视图区目录树图标大小设置 6.内容区编辑字体设置 7.添加JMeter元素快捷键设置 8.捕 ...

  4. 『动善时』JMeter基础 — 16、JMeter配置元件【HTTP信息头管理器】

    目录 1.用于演示的项目说明 2.测试计划内包含的元件 3.HTTP请求界面内容 4.查看脚本执行结果 5.添加请求头信息(HTTP信息头管理器) 6.优先级说明 7.补充:常见请求头信息 JMete ...

  5. 『动善时』JMeter基础 — 22、JMeter中实现参数化(CSV)

    目录 1.参数化的定义 2.什么情况下需要用到参数化 3.JMeter实现参数化的方式 4.CSV数据文件设置界面详细说明 (1)CSV数据文件设置组件界面说明 (2)补充说明:Recycle on ...

  6. 『动善时』JMeter基础 — 27、通过JMeter函数助手实现参数化

    目录 1.测试计划中的元件 2.数据文件内容 3.函数助手配置 (1)函数助手的打开方式 (2)函数助手界面介绍 (3)编辑后的函数助手界面 4.HTTP请求组件内容 5.线程组元件内容 6.脚本运行 ...

  7. 『动善时』JMeter基础 — 31、JMeter中BeanShell断言详解

    目录 1.BeanShell简介 2.Beanshell的内置变量和方法 3.BeanShell断言界面详解 4.BeanShell断言的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 ...

  8. 『动善时』JMeter基础 — 45、脚本录制工具Badboy介绍

    目录 1.Badboy软件介绍 2.Badboy下载 3.Badboy安装 4.Badboy界面介绍 (1)菜单栏: (2)工具栏: (3)左下角界面视图: 1.Badboy软件介绍 Badboy是一 ...

  9. 『动善时』JMeter基础 — 47、JMeter的HTTP代理服务器详细介绍

    目录 1.HTTP代理服务器的添加 2.HTTP代理服务器界面详解 (1)State:状态 (2)Global Settings:全局设置 (3)Test Plan Creation:测试计划创建 ( ...

随机推荐

  1. springboot优雅的异常处理

    springboot全局异常处理 @ControllerAdvice 尽管springboot会对一些异常进行处理,不过对于开发者来说,这还不太便于维护,因此我们需要自己来对异常进行统一的捕获与处理. ...

  2. MFC对话框不能使用菜单更新宏ON_UPDATE_COMMAND_UI

    菜单更新宏的原理 更新处理宏的工作原理是基于框架窗口类的.MFC中对话框菜单更新宏的原理是:当我们使用从CFrameWnd框架窗口类中派生的类创建窗口时,当我们单击菜单且菜单还未弹出前会产生WM_IN ...

  3. 将mysql数据同步到ES6.4(全量+增量)

    下载安装包时注意下载到指定文件夹 这里我放在OPT文件夹下一:安装logstash进入到opt文件夹打开终端 执行以下命令wget -c https://artifacts.elastic.co/do ...

  4. 【BUAA软工】提问回顾与个人总结

    链接到以前提问题的博客 在之前的博客我曾经提问过以下几个问题 为什么单元测试必须由写程序的人完成? 过早优化,过早泛华:何时为过早? 为何使用goto语句? 用户需求分析:分而治之,如何分? 兼容性测 ...

  5. Spring 中使用了那些设计模式呢?

    一. Spring 中常见的设计模式 工厂模式 : BeanFactory 装饰器模式: BeanWrapper 代理模式: AopProxy 单例模式: ApplicationContext 委派模 ...

  6. 通过Cloudflare开启全站https

    Cloudflare 添加域名后,会自动生成通用证书,快速开启全站HTTPS,服务端不用做任何修改,还可以选择多种开启模式 一.注册Cloudflare账号 直接打开网站:https://www.cl ...

  7. [DB] 数据库概述

    基本概念 关系模型:包括关系数据结构.关系操作集合.关系完整性约束三部分 关系型数据库:建立在关系模型基础上的数据库.由多张能互相联接的二维行列表格组成. 非关系型数据库(Nosql(Not Only ...

  8. [c++] 声明

    注意事项 变量定义时就会赋初值(如int是0),所以定义包含声明,单纯声明不定义的话,要加extern 同一个文件中,函数使用(调用)前必须定义(有{ }为定义),否则会报错:若先使用再定义,或定义和 ...

  9. [刷题] 455 Assign Cookies

    要求 贪心算法的关键:判断问题是否可以用贪心算法解决 给小朋友们分饼干,每个小朋友"贪心指数"为g(i),饼干大小值s(i) g(i):小朋友需要的饼干大小的最小值 若s(j)&g ...

  10. java 实现简单的单点登录

    https://my.oschina.net/leamon/blog/266711 https://serviceturbo-cloud-cn.huawei.com/serviceturbocloud ...