《软件自动化测试成功之道》节选3 - DOM与IE Developer ToolBar
来源:互联网 发布:mac怎么清理缓存垃圾 编辑:程序博客网 时间:2024/05/22 06:43
《软件自动化测试成功之道》节选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
- 《软件自动化测试成功之道》节选3 - DOM与IE Developer ToolBar
- 《软件自动化测试成功之道》节选连载中...
- 《软件自动化测试成功之道》节选连载中...
- 《软件自动化测试成功之道》节选8 - 与每日构建结合
- 《软件自动化测试成功之道》节选1 - 选择合适的项目实施自动化测试
- 《软件自动化测试成功之道》节选12 - 自动化测试脚本的维护
- 《软件自动化测试成功之道》节选2 - 对控件的熟悉程度与自动化测试成功实施之间的关系
- 《软件自动化测试成功之道》节选5 - 第三方控件的测试方法
- 《软件自动化测试成功之道》节选6 - 自定义控件的测试方法
- 《软件自动化测试成功之道》节选4 - 标准控件的特殊问题的处理方法
- 《软件自动化测试成功之道》节选7 - “白+黑” - 检查数据库的数据
- 《软件自动化测试成功之道》节选9 - 非预期窗口的处理
- 《软件自动化测试成功之道》节选10 - 数据库连接配置问题
- 《软件自动化测试成功之道》节选11 - 常用脚本函数的封装
- 《软件自动化测试成功之道》目录
- QTP –Web自动化测试辅助小工具-IE Developer ToolBar
- 新书《软件自动化测试成功之道》出版
- 《软件自动化测试成功之道》内容简介和前言
- Adobe Creative Suite 4 Master Collection序列号
- 输入法图标也会莫名其妙地丢失解决方案
- 在Mysql中创建自动增加的主键
- 开始收集mysql的各种命令
- BSS段、数据段、代码段、堆与栈
- 《软件自动化测试成功之道》节选3 - DOM与IE Developer ToolBar
- 在VC中使用 Flash 美化你的程序
- Incorrect number of tokens found parsing file
- 图片无缝滚动 无空白滚动
- C:/WINDOWS/system32/drivers/etc/hosts 文件有什么作用
- js的prototype 例子
- 谷歌街景服务在德国遇质疑
- 简单修改Texture2D以支持从压缩包读取贴图
- 使用PreviousPage对象在网页间传递Web窗体内容