一、 利用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导入脚本并调试的更多相关文章

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

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

  2. Shell脚本的调试技术

    编程中必不可少的一点就是调试,Shell脚本以其强大的功能令人向往,当然,它的强大之处不只是体现在语言的实现功能上,更强大的是它的调试功能,下面,我将以实例讲解Shell脚本的调试技术. 下面是我所用 ...

  3. PLSQL Developer图形化界面新建用户并授权并导入脚本

    最近用了PLSQL Developer第三方的软件.记录一下实现新建用户并授权并导入脚本的功能. 第一步.切换sys用户(如果此处方法已经掌握,直接切换sys即可,就不用看这一步了) 首先检查当前登录 ...

  4. 让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本

    让策划也能轻松修改数据的方法:运用Excel2Json2Object插件将xml表格转为Object导入脚本 运用Excel2Json2Object插件将xml表格转为Object导入脚本 下载地址 ...

  5. Shell脚本的调试方法

    Shell脚本的调试方法 Shell提供了一些用于调试脚本的选项,如下所示: -n    读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 -v    一边执行脚本,一边将执行过的脚本命令打印到标 ...

  6. 使用badboy录制脚本 结合Jmeter一起测试。

    1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的.Badboy提供了将 ...

  7. Unity修改脚本后调试

    修改脚本后调试有时候需要运行,为了提高效率可以设置编辑器中执行,同时也可以开启有效性检查(即更改面板变量即可刷新代码) [ExecuteInEditMode] public class XXXX: M ...

  8. mysql导入脚本

    #登陆 mysql -u root -p #创建数据库 CREATE DATABASE `gps` CHARACTER SET utf8 COLLATE utf8_general_ci; #选择数据库 ...

  9. jemeter——badboy导入的jmx文件自带元件解析

    线程组设置与解析 含义:1秒启动100个线程,每个线程循环调用20次请求  (包括FTP请求.Java请求.http请求,根据你提交的请求而定) delay thread creation until ...

随机推荐

  1. hdu 1717

    小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  2. Laravel 5.1的多路由文件的配置

    Laravel 5.1的多路由文件的配置 默认的路由配置文件只有一个,\app\Http\routes.php.在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件.找到加载\app ...

  3. yii 之数据库关联查询

    <?php namespace app\controllers; use yii\web\Controller; use app\models\Customer; class CustomerC ...

  4. yii 之删除数据

    public function actionTest(){ //删除 //方法一 $result = Test::find()->where(['id' => 1])->all(); ...

  5. android的对话框

    android中的对话框形式有四种,分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,下面我一一对他们进行详解. <一>一般对话框 一般对话框形式如下图: 具体实现代码 ...

  6. 死磕 java同步系列之自己动手写一个锁Lock

    问题 (1)自己动手写一个锁需要哪些知识? (2)自己动手写一个锁到底有多简单? (3)自己能不能写出来一个完美的锁? 简介 本篇文章的目标一是自己动手写一个锁,这个锁的功能很简单,能进行正常的加锁. ...

  7. mysql大数据量分页查询优化

    参考文章:https://www.dexcoder.com/selfly/article/293 Mysql的分页查询十分简单,但是当数据量大的时候一般的分页就吃不消了. 传统分页查询:SELECT ...

  8. send to instance already dealloc nil error

    这个是因为发送消息的对象已经被dealloc了,然后再次发送[release]请求就不行了.所以可以retain或者alloc对象 if (self.buttonsList) {            ...

  9. MongoDB下配置用户权限

    MongoDB默认设置为无权限訪问限制 注:研究成果基于Windows平台 在部署mongodb成功后.进入控制台: 输入命令:mongod  use admin,你会发现该DB下包括了一个syste ...

  10. BUPT复试专题—众数(2014)

    题目描述 有一个长度为N的非降数列,求数列中出现最多的数,若答案不唯一输出最小的数 输入 第一行T表示测试数据的组数(T<100) 对于每组测试数据: 第一行是一个正整数N表示数列长度 第二行有 ...