从BadBoy导入脚本并调试
一、 利用BadBoy录制自动化脚本,录制事件为禅道中创建bug

在badboy地址栏输入被访问的URL地址

录制成功后截图如下:

录制完成后在badboy窗口中回放确定脚本录制的正确性,回放成功后清除响应,然后导出为JMeter脚本。
清除响应: Setp1 (右键)->clear Response
导出JMeter脚本: File->Export to JMeter
第二步: 在JMeter窗口中打开BadBoy中录制的.jmx的脚本文件
打开后如下所示:

第三步: 添加“察看结果树”并调试脚本
1. 添加监视器->“察看结果树”

2. 运行脚本,在“察看结果树”中查看运行情况

从上图可以看到回放的结果,绿色表示通过,红色表示失败。 看到这些失败的红色不要害怕,我们来分析一下。
3. 选择“察看结果图”中的HTML视图能够更加直观的查看运行结果

4. 删除无用的http请求
可以看到红色对应项的请求均为null, 且响应结果为java异常。对应到step中的请求步骤,可以发现图中红色标示的http请求项为":///...",对应的"服务器名称为IP"为空。
度娘告诉我这可能是禅道系统请求的本地资源,至于是与不是,我们不管它,因为它不影响我们的脚本运行结果,直接在step1下选中这些项,删除即可。

清除后的HTTP请求如下所示,是不是干净多了?

5. 继续调试->回放结果
此时可以再次回放,查看回放结果。为了回放结果更加直观,按上图红线标识所示,选中添加bug的页面,给bug 的标题(title)取名为NewBugByJMeter;
6. 清除结果树的log
按如下步骤清除结果树中的log

7.点击回放按钮,回放脚本, 查看禅道的bug列表

至此, bug添加成功,说明JMeter脚本没有问题了。
补充两个我遇到的问题:
1. Jmeter中查看HTML时的乱码问题
解决办法:
Jmeter安装目录/bin/jmeter.properties中sampleresult.default.encoding默认为ISO-8859-1,将参数修改为
sampleresult.default.encoding=utf-8 即可,注意将注释符号#去掉。
2. Jmeter脚本回放成功,但禅道系统中并没有增加相用的bug,也就是bug添加失败。
解决办法:
将“添加bug”页面的结果树-响应结果(选择text视图)复制到一个txt文件中,并重命名为html, 用浏览器打开就能够很直观到看到这个页面的情况。
从页面中我发现有一个sql插入错误,其中有一项"HTTP-X-REQUEST"值为true,但数据库中的bug表里面是没有这个字段的,初步估计为Jmeter自带的。
删除该项之后,重新运行脚本成功。
删除Jmeter自带的"HTTP-X-REQUEST"项后的结果如下所示

从BadBoy导入脚本并调试的更多相关文章
- 测试工具之Jmeter(使用badboy录制脚本)
前面使用badboy工具时说过,badboy是可以录制Jmeter的测试脚本,这样省去了自己设计测试用例的麻烦 Jmeter主要是一个性能测试工具,不光在web和http,现在扩展很多功能都可以在Jm ...
- Shell脚本的调试技术
编程中必不可少的一点就是调试,Shell脚本以其强大的功能令人向往,当然,它的强大之处不只是体现在语言的实现功能上,更强大的是它的调试功能,下面,我将以实例讲解Shell脚本的调试技术. 下面是我所用 ...
- PLSQL Developer图形化界面新建用户并授权并导入脚本
最近用了PLSQL Developer第三方的软件.记录一下实现新建用户并授权并导入脚本的功能. 第一步.切换sys用户(如果此处方法已经掌握,直接切换sys即可,就不用看这一步了) 首先检查当前登录 ...
- 让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本
让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本 运用Excel2Json2Object插件将xml表格转为Object导入脚本 下载地址 ...
- Shell脚本的调试方法
Shell脚本的调试方法 Shell提供了一些用于调试脚本的选项,如下所示: -n 读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 -v 一边执行脚本,一边将执行过的脚本命令打印到标 ...
- 使用badboy录制脚本 结合Jmeter一起测试。
1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的.Badboy提供了将 ...
- Unity修改脚本后调试
修改脚本后调试有时候需要运行,为了提高效率可以设置编辑器中执行,同时也可以开启有效性检查(即更改面板变量即可刷新代码) [ExecuteInEditMode] public class XXXX: M ...
- mysql导入脚本
#登陆 mysql -u root -p #创建数据库 CREATE DATABASE `gps` CHARACTER SET utf8 COLLATE utf8_general_ci; #选择数据库 ...
- jemeter——badboy导入的jmx文件自带元件解析
线程组设置与解析 含义:1秒启动100个线程,每个线程循环调用20次请求 (包括FTP请求.Java请求.http请求,根据你提交的请求而定) delay thread creation until ...
随机推荐
- hdu 1717
小数化分数2 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- Laravel 5.1的多路由文件的配置
Laravel 5.1的多路由文件的配置 默认的路由配置文件只有一个,\app\Http\routes.php.在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件.找到加载\app ...
- yii 之数据库关联查询
<?php namespace app\controllers; use yii\web\Controller; use app\models\Customer; class CustomerC ...
- yii 之删除数据
public function actionTest(){ //删除 //方法一 $result = Test::find()->where(['id' => 1])->all(); ...
- android的对话框
android中的对话框形式有四种,分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,下面我一一对他们进行详解. <一>一般对话框 一般对话框形式如下图: 具体实现代码 ...
- 死磕 java同步系列之自己动手写一个锁Lock
问题 (1)自己动手写一个锁需要哪些知识? (2)自己动手写一个锁到底有多简单? (3)自己能不能写出来一个完美的锁? 简介 本篇文章的目标一是自己动手写一个锁,这个锁的功能很简单,能进行正常的加锁. ...
- mysql大数据量分页查询优化
参考文章:https://www.dexcoder.com/selfly/article/293 Mysql的分页查询十分简单,但是当数据量大的时候一般的分页就吃不消了. 传统分页查询:SELECT ...
- send to instance already dealloc nil error
这个是因为发送消息的对象已经被dealloc了,然后再次发送[release]请求就不行了.所以可以retain或者alloc对象 if (self.buttonsList) { ...
- MongoDB下配置用户权限
MongoDB默认设置为无权限訪问限制 注:研究成果基于Windows平台 在部署mongodb成功后.进入控制台: 输入命令:mongod use admin,你会发现该DB下包括了一个syste ...
- BUPT复试专题—众数(2014)
题目描述 有一个长度为N的非降数列,求数列中出现最多的数,若答案不唯一输出最小的数 输入 第一行T表示测试数据的组数(T<100) 对于每组测试数据: 第一行是一个正整数N表示数列长度 第二行有 ...