有意思的现象,关于QTP录制打开ie的时机
上一篇 / 下一篇 2008-09-19 11:12:19 / 个人分类:QTP
查看( 1635 ) /
评论( 7 )
相关阅读:
- oldsidney QTP学习笔记 之八参数化 (紫色梦幻, 2008-9-18)
- oldsidney QTP学习笔记 之九参数化的修正及分析执行步骤 (紫色梦幻, 2008-9-18)
- oldsidney QTP学习笔记 之十 执行并分析使用输出值的测试脚本 (紫色梦幻, 2008-9-18)
- oldsidney QTP学习笔记 之十一 使用万用字符表示法 (紫色梦幻, 2008-9-18)
- oldsidney QTP学习笔记 之十二 将测试脚本切割成多个动作 (紫色梦幻, 2008-9-18)
- oldsidney QTP学习笔记 之十三 插入新动作 (紫色梦幻, 2008-9-18)
- oldsidney QTP学习笔记 之十四 插入已存在的动作 (紫色梦幻, 2008-9-18)
- 主流5类测试工具及工具举例 (suesue_119, 2008-9-18)
- 自动化测试思想之QTP登录脚本 (fishy, 2008-9-18)
TAG: QTP 试验 识别 WinObject Browser page ie web对象
- 假装不在 发布于2008-09-19 11:53:54
-
QTP启动后,当手动打开的IE才会加载控件进去。
如果QTP没开,手动打开的IE是不会加载进去的。
- rcpp 发布于2008-09-19 14:39:20
-
回复 2# 的帖子
是什么控件呢?bhomanager吗?
这个作为加载项是安装了QTP以后IE中就存在的,怎么开IE都会有
不是这个又是哪个呢?
- cafard-haibin 发布于2008-09-19 15:34:23
-
我在实际测试中也发现了此问题,刚开始没有找到原因,第2次发现是与QTP和浏览器的启动先后顺序有关。我感觉2楼的回答有道理。但不知道有没有官方的解释。
- xiaoshancom发布于2008-09-19 23:44:31
-
回复 1# 的帖子
你能重复先打开ie的那个场景吗?重复后去 Windows 任务管理器 里面看看,当前的IE是iexplorer.exe还是explorer.exe:
打开任务管理器->在“应用程序”面板中选中你打开的页面->右键,选择“转到进程”
VBS代码:CODE:
Set IE = CreateObject ("InternetExplorer.Application")
打开的就是explorer.exe
如果这个不行,就去验证BHOManager Class在IE里是开启的。
- rcpp 发布于2008-09-20 14:18:57
-
回复 5# 的帖子
呵呵,这位仁兄大概没看明白我写的意思
- xiaoshancom发布于2008-09-20 15:53:17
-
回复 6# 的帖子
你的意思也就是说排除了那个进程是explorer.exe了?也确定那个class是在IE里Enable的?
我回复时候的最后一句话,可能代表了原因:跟BHO有关,QTP是通过BHO来获取浏览器页面元素的。本来获取测试对象在Windows Object和Web Browser之间方式就存在区别,由于QTP是把两者集成到一个工具上了,所以通用的做法应该是得到对象类后对该对象做一次判断:如果是iexplorer就用另一种方式获取页面元素的值;但QTP的Spy采取了另外一种做法,利用BHO直接跟Microsoft Internet Explorer绑定。于是,这也解释了为何QTP Spy工具在支持Microsoft Internet Explorer页面元素的同时却对Firefox的页面元素支持不同步的部分原因。
至于为何Internet Explorer在QTP Spy启动前运行会使得BHO同Spy之间的信息交互出现问题,需要更详细的信息,可惜我手头没环境。你可以试试
1.枚举CODE:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects下是否有重复项
2.重新注册CODE:
regsvr32 /u BHOManager.dll
国外论坛上也有如果无法获取页面元素,在QTP Spy启动后运行IE是一项workaround,据我现在的理解,这可能是QTP Spy自身的一个bug。不知晓你会debug、会写BHO吗? 都不会的话对你来说准确诊断这问题可能有问题。
regsvr32 /s BHOManager.dll
- xiaoshancom发布于2009-09-12 23:05:47
-
回复 1# 的帖子
碰巧有空看了下这个问题,下面是答复,希望有帮助:
为何无法录制QTP启动前的浏览器