从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"项后的结果如下所示

 

posted @ 2017-03-22 12:37  皇上二大爷  阅读(3164)  评论(1编辑  收藏  举报