51Testing软件测试论坛

标题: 测试工具(1)---Firebug (firefox下查看网页细节的好插件) [打印本页]

作者: 阿七    时间: 2010-3-31 11:25
标题: 测试工具(1)---Firebug (firefox下查看网页细节的好插件)
本文是Firebug的一个概览,并不对它的所有特性进行详尽解释。不过,本文的内容对一个新手来说,应该是足够了。


目录
一、安装Firebug
二、打开和关闭Firebug
三、Firebug窗口概览
四、随时编辑页面
五、用Firebug处理CSS
六、盒状模型
七、评估下载速度
八、DOM
九、Javascript调试
十、AJAX
十一、附注

[ 本帖最后由 阿七 于 2010-4-3 15:05 编辑 ]
作者: 阿七    时间: 2010-3-31 11:26
标题: 一、安装Firebug
Firebug在Firefox浏览器中运行。另外有一个Firebug lite版本,可以通过javascript调用,包含在页面中,从而在其他非Firefox浏览器中使用。本文不涉及这个版本。

安装Firebug,请访问Firebug下载页面。点击该页面右边栏中部巨大的橙黄色按钮即可。你也可以在Mozilla的FireFox Add-ons站点下载它。安装后只要重新启动FireFox,就可以使用了。

如果你已经安装过了,那么请检查是否更新到了最新版本。打开Firefox的“Tools”菜单,选择“Add-ons”命令,然后在弹出窗口中点击左下角的“Find Updates”按钮。
作者: 阿七    时间: 2010-3-31 11:27
标题: 二、打开和关闭Firebug
在Firebug网站上,可以找到它的快捷键设置。我最常使用以下三种方法:

* 打开Firebug:按F12,或者点击浏览器状态栏右边的绿色标志。

[attach]60769[/attach]

* 关闭Firebug:按F12,或者点击浏览器状态栏右边的绿色标志,或者点击Firebug窗口右上角的红色关闭标志。

* 在单独窗口中打开Firebug:点击firebug窗口右上角的红色箭头标识,或者使用Ctrl+F12/⌘+F12按钮。


Firebug的相关设置:
* 固定Firebug在新窗口打开:先打开firebug,点击左上角的bug标志,选择options菜单中的“Always Open in New Window”设置。

* 增加/缩小字体大小:先打开firebug,点击左上角的bug标志,选择“Text Size”命令。每次字体变化的幅度非常小,你可能需要使用多次。

[attach]60770[/attach]

* 限制只对某些站点使用Firebug:先右击浏览器状态上的green check mark标志,选择“disable Firebug”命令。然后,再右击这个已经变灰的标志,选择“Allowed Sites...”命令,增加允许Firebug生效的域名。

[attach]60771[/attach]
作者: 阿七    时间: 2010-3-31 11:28
标题: 三、Firebug窗口概览
* Console标签:主要使用javascript命令行操作,显示javascript错误信息,在底部的>>>提示符后,你可以自己键入javascript命令。

* HTML标签: 显示HTML源码,并且像DOM等级结构那样,每行之前有缩进。你可以选择显示或不显示某个子节点。

* CSS标签:浏览所有已经装入的样式表,可以当场对其修改。在Firebug窗口上部,“edit”命令的旁边,有一个本页面中所有样式表的下拉列表,你可以选择一个样式表进行浏览。

[attach]60772[/attach]

* Script标签:显示javascript文件及其所在页面。在Firebug窗口上部,“inspect”命令的旁边,有一个本页面中所有Javascript文件的下拉列表,你可以选择一个进行浏览。你可以在javascript命令中,设置断点(breakpoint)及其出现的条件。

* DOM标签:显示所有的页面对象和window物体的属性。因为在javascript中,所有变量都是window物体的属性,所以Firebug会显示所有变量和它们的值。

* Net标签:显示本页面涉及的所有下载,以及它们各自花费的时间,各自的HTTP请求头信息和服务器响应的头信息。XHR标签对AJAX调试很有用。
作者: 阿七    时间: 2010-3-31 11:29
标题: 四、随时编辑页面
在HTML标签中,点击窗口上方的“inspect”命令,然后再选择页面中的文本节点,你可以对其进行修改,修改结果会马上反应在页面中。

[attach]60773[/attach]

Firebug同时是源码浏览器和编辑器。所有HTML、CSS和Javascript文件中的对象,都可以用单击或双击进行编辑。当你输入完毕,浏览器中的页面立刻会发生相应变化,你可以得到瞬时反馈。DOM浏览器允许你对文档结构进行彻底的编辑,不局限于文本节点。在HTML标签中,点击窗口上部 “inspect”命令旁边的“edit”命令,下方的窗口就会立刻变成一个黑白的文本编辑窗口,你可以对HTML源代码进行任意编辑。在CSS标签中, Firebug会自动补全你的输入。在DOM标签中,当你按Tab键时,Firebug会自动补全属性名。
作者: 阿七    时间: 2010-3-31 11:31
标题: 五、用Firebug处理CSS
在DOM标签中,每个HTML元素的style属性揭示了该元素的所有CSS设置。你可以双击对这些设置进行编辑。

[attach]60774[/attach]

对于那些Firefox不支持的CSS规则,Firebug会自动隐藏。比如,Firebug会隐藏针对某些浏览器的CSS特定设置,以及一些它不支持的 CSS3规则。所以,它会隐藏_height:25px;(下划线是一个针对IE6的设置)和p:first-of-type {color: #ff0000;} (:first-of-type是一个CSS3规定的伪类,目前只有Safari 3支持)。但是,这也意味着,如果你恰巧发生了打字错误,导致某些规则无法显示,那么你只有使用其他编辑器显示全部CSS内容,找到你的错误。

Firebug允许你关闭CSS中的某些语句,页面会立刻反映相应变化,你可以立刻查看效果。“关闭”一条语句的方法是,在该语句的左边点击,会出现一个红色的禁止标志。该语句就会变灰。再次点击,该语句就会恢复。

Firebug允许你编辑CSS的属性和属性值。你只要对它们点击,就能编辑。修改后的效果会立刻在浏览器窗口中显示出来。这个特性最好的运用,是在确定准确定位的padding和margin时,firebug允许你用方向键逐单位的增加。

Firebug允许你增加新的属性和属性值。增加方法是双击现有的selector,然后就会出现一个空白的属性名输入框,完成输入后则会出现一个空白的属性值。
作者: 阿七    时间: 2010-3-31 11:31
标题: 六、盒状模型
当你在HTML标签中,点击一个元素时,左面窗口显示HTML代码,右面窗口显示该元素的CSS。在CSS窗口上方,有一个layout按钮,点击后会展示与该元素相关的方块模型,包括padding、margin和border的值。要查看每一个元素的这三项值,只需点击“inspect”按钮,然后用鼠标悬停在页面中该元素的上方。

[attach]60775[/attach]
作者: 阿七    时间: 2010-3-31 11:32
标题: 七、评估下载速度
[attach]60776[/attach]Net标签中图形化了页面中所有http请求所用的时间。使用这个功能,必须打开Network monitoring,默认设置就是打开,但是你可以在“options”下拉菜单中关闭这个选项。你可以用这项功能评估javascript文件下载,占用整个页面显示的时间。



在每个HTTP请求的左面点击,会显示该次请求的头信息。

在1.0.5版以后,你可以单独查看HTML文件、CSS文件、图像文件等各自下载的时间。
作者: 阿七    时间: 2010-3-31 11:33
标题: 八、DOM
DOM标签提供页面上所有物体的所有属性的信息。Firebug最酷的功能之一是,它可以动态修改页面,反映在浏览器窗口,但是如果使用浏览器自带的查看源码功能,你会发现源码并没有改变。
作者: 阿七    时间: 2010-3-31 11:33
标题: 九、Javascript调试
JavaScript profiler可以报告你的Javascript函数执行所花的时间,因此你可以查看不同函数对速度的影响。使用这个功能的方法是,打开console标签,然后点击上面的Profile按钮(上部的按钮顺序是“Inspect |Clear | Profile”)。Firebug列出调用的所有函数,及其所花的时间。你可以针对要测试的某个函数,在其前部加上console.profile([title]),在其后部加上console.profileEnd()。

console标签的底部是命令行输入,它以“>>>”开头。如果命令行输入有结果输出,那么它会展示在上部的窗口。有一个详细的命令行输入API值得看一下。Firebug内置console对象有几种有用的方法可供调用,包括console.debug、console.info、 console.warning、console.error等。如果这些方法产生了输出结果,Firebug会提供一个链接,让你查看相应的代码。

调试的另一个方法是设置断点。Script标签允许你在任意行暂停执行。单击行号,就会设置一个断点。右击行号,就可以设置一个断点出现的条件,只有当条件为真时,程序才会暂停执行。右面还有一个watch窗口,可以查看当前变量的值。

[attach]60777[/attach]

[ 本帖最后由 阿七 于 2010-3-31 11:37 编辑 ]
作者: 阿七    时间: 2010-3-31 11:37
标题: 十、AJAX
前面已经提到,Firebug可以捕捉页面的动态内容和其他DOM变化。如果你打开这个示例文件,点击页面上的链接后,在浏览器中查看源码,你会发现什么也没有改变,源码中依然包含那个链接。但是,如果你在Firebug中查看源码,你会发现DOM已经发生了变化,“Hello World”已经被包括在内了。这就是Firebug的核心功能之一,没有它,AJAX的请求和回应就是不可见的。有了它,你可以看到送出的和收到的文本,已经相应的头信息。在Net标签中,你还能监控每个请求/回应各自所花费的时间。

[attach]60778[/attach]

Net标签中的XHR功能,对查看AJAX操作特别有用。如果你点击每个服务器端回应前的加号,你就会看到服务器端回应的头信息和内容。

当通过XMLHttpRequest对象向服务器端发出一个请求时,Firebug会记录请求的POST或GET内容,以及回应的头信息和内容。使用 Net标签中的XHR功能,就可以看到这些内容。它会列出所有服务器的回应,以及所花费的时间。点击前面的+号,如果是GET请求,会显示三个标签;如果是POST请求,会显示4个标签:

Params: 显示请求URL中所包含的name/value对。

Headers: 显示请求和回应的头信息。

Response: 显示实际从服务器收到的信息。

Post:显示从通过POST请求,送到服务器的信息。(此项GET请求不包括。)


这四个标签对编写和调试程序很有用。检查POST和Params标签,确定你的请求被正确地发出了。检查Response标签查看返回的格式,确定相应的Javascript处理函数应该如何编写。
作者: 阿七    时间: 2010-3-31 11:39
标题: 十一、附注
* Firebug 1.05 及以前版本,与Firefox 3.0不兼容。

* Firebug的作者Joe Hewitt免费提供了这个软件,为了显示我们对他的爱,你可以考虑对他进行捐助。

* Firebug的一些高级应用,请看Joe Hewitt的演示视频。
http://video.yahoo.com/video/pla ... af731346f78.1755924
作者: 阿七    时间: 2010-3-31 11:40
标题: 补充 1
1、查看、编辑HTML元素及其CSS安装好Firebug之后,你可以通过点击浏览器右下方的小虫子打开Firebug,如图:
[attach]60866[/attach]
或者直接按F12,如果要以窗口形式打开的话,就按下CTRL+F12
打开Firebug之后,点击“查看”,然后选择页面上任何需要编辑的地方,Firebug会将其选中,并且在HTML结构中将其高亮,如图:
[attach]60867[/attach]
之后你可以对该元素的HTML结构、属性进行任意的编辑,修改后的效果都会实时的展现在页面当中。
同时在Firebug的右侧是该元素对应的CSS样式,如下图:
[attach]60868[/attach]
图中的样式,显示了该元素被重新定义的样式继承关系,比如“继承自body.CurHome”的“text-align”属性被“继承自div.shell”的“text-align”覆盖,原先的属性就会以中横线的形式表示出来。如果要查看所有的属性,请勾选图中标“1”的选项。
单击“2”可以禁用/打开某条CSS属性;单击任意一个属性或者属性值可以进行CSS的编辑,如“3”;双击“4”则可以新建一条CSS属性。现在我们点击下“5”来看看CSS布局面板:
[attach]60869[/attach]
上面这幅图展现的是一个HTML结构的标准盒模型,通过点击相应的数值可以修改该值,同时在浏览器窗口中显示出对应的效果来。

[ 本帖最后由 阿七 于 2010-4-1 15:07 编辑 ]
作者: 阿七    时间: 2010-3-31 11:41
标题: 补充2
2 、查看动态生成的HTML代码的方法通过“查看源代码”的方法,无法看到由JS动态生成的HTML结构,这里我们可以通过Firebug来查看,如下图,选中“body”节点,按下“编辑”,即可输出页面上源文件的代码以及动态生成的代码。
[attach]60870[/attach]
还有另外一种简单的方法,选中你要查看的页面元素,然后在右键菜单中选择“查看选中部分源代码”

[ 本帖最后由 阿七 于 2010-4-1 15:10 编辑 ]
作者: 阿七    时间: 2010-3-31 11:41
标题: 补充3
3、查看/测试页面的函数执行效率查看页面上所有函数执行效率可以很容易的找到运行最慢的函数,从而帮助WD有针对性的进行页面的JS优化。如图,为需要调试的页面“启用控制台”:
[attach]60871[/attach]
点击“概况”开始收集,再次点击即可停止,然后进行查看。
在firebug控制台的最底下是一排命令行,在这里你可以输入任意JS语句,按下回车键即可执行:
[attach]60872[/attach]
使用console,还可以测试一段代码或者函数的执行时间,点击命令行最右侧的红色按钮切换到命令行多行模式:
[attach]60873[/attach]

[ 本帖最后由 阿七 于 2010-4-1 15:11 编辑 ]
作者: 阿七    时间: 2010-3-31 11:42
标题: 补充4
4、使用Firebug查看XMLHttpRequest使用Firebug查看XMLHttpRequest,对于调试AJAX是很有帮助的。如图:
[attach]60874[/attach]
为需要调试的站点开启“网络”监控功能,其实该功能可以查看页面上所有类型的post和get请求,并且还会显示出请求消耗的时间。对于XMLHttpRequest会有详细的参数与返回值。

[ 本帖最后由 阿七 于 2010-4-1 15:12 编辑 ]
作者: 阿七    时间: 2010-3-31 11:43
标题: 补充5
5、查看页面上所有的CSS与JS在页面调试中我们发现,对于外部引用的CSS与JS很难进行调试,使用基于Firebug的Yslow扩展即可解决该问题。首先在Yslow的主页上下载一个最新的版本装上:http://developer.yahoo.com/yslow/
[attach]60875[/attach]
在Firebug小虫子的右边就是Yslow,后面的数值是当前页面完全加载所消耗的时间,点击Yslow即可打开(或者通过Firebug的Yslow面板,运行“Performance”进行页面分析)。
[attach]60876[/attach]
如上图,选择“All JS”后,当前页面的所有内部JS和外部JS都会被显示在一个新开的页面中,这样查看页面上所有的JS源代码就变得方便多了。

[ 本帖最后由 阿七 于 2010-4-1 15:14 编辑 ]
作者: 阿七    时间: 2010-3-31 11:43
标题: 补充6
6、查看页面上所有的资源列表其实前面第四点介绍到的“网络”功能就可以查看所有资源列表,而且可以通过查看状态来进行对应的优化(例如排查404元素)。这里可以通过Yslow的components功能看到到包括类型与详细路径的资源列表:
[attach]60877[/attach]
鼠标hover可以看到对应的缩略图,点击则可在新窗口中打开。更多Yslow功能请查看其主页

[ 本帖最后由 阿七 于 2010-4-1 15:14 编辑 ]
作者: 阿七    时间: 2010-3-31 11:43
标题: 补充7
7、使用Firecookie调试页面cookieFirecookie是基于Firebug的cookie调试工具,先到作者的主页上了解下详细信息,再下载一个安装上。
http://www.softwareishard.com/blog/firecookie/
安装好之后,Firebug中会多出一个“cookie”面板,你可以为需要调试的页面添加、删除、修改cookie信息。
[attach]60878[/attach]
Firebug是一款能够为WD提高效率的调试利器,希望大家都能用上。

[ 本帖最后由 阿七 于 2010-4-1 15:15 编辑 ]
作者: 心中有彩虹    时间: 2010-4-1 11:11
版主你都全套的那个PDF文档的或者word文档的么?图都看不见啊 。
作者: papeandpopo    时间: 2010-9-15 10:50
标题: 太帅了
太帅了,我正在用,还是用的很不好。这个很详细。呵呵。参考。
我现在想弄明白,bugfree 里的如何精确控制角色的权限。如:只有创建者和被指派者,能编辑解决bug的控制。我就是楞没找到相关的帖子。疯了。
修改代码,也没写清楚修改哪个文件,只是添加userid的session。
作者: flowingcloud    时间: 2010-11-9 19:06
同求文档。
作者: Joyeer    时间: 2010-11-12 12:40
确实,用得非常多。。。。。
作者: nieryy2009    时间: 2010-11-16 13:27
这个开发用还好..   对编程不是很精通啊
作者: xieyang702    时间: 2010-11-19 16:23
呵呵,这个东西是比较好用的。
作者: carry1986    时间: 2011-3-20 20:40
谢谢楼主分享,正在研究这个呢。。。
作者: yintianyouqin    时间: 2011-3-21 10:37
这个工具还真是不错啊!不过开发用起来应该作用大很多吧!谢谢楼主的推荐!
作者: jollyfeixue    时间: 2011-4-8 11:42
之前用过,但没那么细的去了解,谢谢楼主了
作者: 多学多看    时间: 2013-9-12 16:14
对啊对啊,求版主PDF文档的或者word文档
作者: 丰卉者    时间: 2017-2-15 13:29
findbugs 最新的从哪里下载呢




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2