现在的位置: 首页 > 综合 > 正文

《软件自动化测试成功之道》节选3 – DOM与IE Developer ToolBar

2013年10月06日 ⁄ 综合 ⁄ 共 1271字 ⁄ 字号 评论关闭

《软件自动化测试成功之道》节选3 - DOM与IE Developer ToolBar

 

 

 

 

如果自动化测试工程师仅仅满足于掌握测试工具的使用,是远远不足以解决自动化测试过程中所碰到的种种问题的,下面举个简单的例子:

在某个基于WEB的自动化测试项目中,我们发现需要通过判断Image测试对象的属性来判断某个分组是否处于展开状态,如图2.4所示。

 

 

在这种情况下,主要要看展开和折叠的时候,对象的属性有没有什么变化,不一定是Image有变化,还可以看看前面的小图标是否有变化。我们可以找开发人员了解一下展开和折叠时,究竟有哪些属性发生了变化,但是这无疑会浪费很多宝贵的时间,我们完全可以安装一个小巧的辅助工具IE Developer ToolBar来查看页面的DOM属性。

 IE Developer ToolBar是一个IE插件,安装后可以在浏览器中选择“查看->浏览器栏->IE Developer ToolBar”打开,可以看到页面所有对象的DOM属性。下面以126.com中的“邮箱服务”(如图2.5所示)为例解释一下这个分析和解决问题的过程:

 

 

 

打开IE Developer ToolBar,我们可以看到“邮箱服务”前面的小图标在DOM模型树中的位置,如图2.6所示:

 

 

 

 

可以看到小图标的“class”属性是“clsFd”,“title”属性为“折叠”,由此可以推测:依据title属性可以判断当前是否处于展开状态,我们可以改变界面上的状态,再次用IE Developer ToolBar查看和验证。

在此例中,如果我们依赖QTP的录制过程生成的对象库(Object Repository),会在回放时发生找不到测试对象的错误,这是因为QTP没有正确地把“邮箱服务”前面的小图标对象放到合适的位置中,我们必须手工添加测试对象,调整测试对象在“Test Objects”中的位置,如图2.7所示:

 

 

 

 

接下来,在QTP的专家视图中编辑如下所示的脚本:

Dim obj

Set obj =Browser("网易电子邮箱 - 逍遥3.0Beta").Page("网易电子邮箱 - 逍遥3.0Beta").Frame("index").WebElement("邮箱服务").WebElement("WebElement")

'Msgbox obj.Object.title

If obj.Object.title = "折叠" then

         obj.Click

else

         msgbox "已经处于折叠状态"

end if

运行上述脚本,测试结果如图2.8所示:

 

 

 

由此可见,仅仅掌握测试工具的使用方法,没有深入理解测试工具背后的原理,以及被测试对象的核心内容和工作机制的话,是很难解决一些在自动化测试过程中碰到的实际问题的。同时,在本例中,我们还可以看到,一些辅助工具(例如测试WEB应用程序时,善于使用IE Developer ToolBar之类的DOM分析工具)可以有效帮助我们解决某些问题。

节选自《软件自动化测试成功之道》http://www.china-pub.com/196509

抱歉!评论已关闭.