斐力庇第斯从马拉松回雅典报信,虽然已是满身血迹,筋疲力尽,但他知道:没有出现在雅典人民面前,前面的路程都是白费。 最艰苦、最关键的时刻,把好最后一道关。

有意思的现象,关于QTP录制打开ie的时机

上一篇 / 下一篇  2008-09-19 11:12:19 / 个人分类:QTP

查看( 1635 ) / 评论( 7 )

先不开QTP,直接打开ie,输入http://bbs.51testing.com/default.php

打开51论坛了

然后打开QTP,用spy去识别页面,发现除了browser、page和winobject以外,web对象全部无法识别!

如图所示:

不要动QTP和当前的ie,然后新开一个ie,也输入http://bbs.51testing.com/default.php

又打开51论坛了(管理员:为什么要说又?)

然后再用spy去识别页面,会发现web对象都识别出来了,而且原来那个web对象识别不出来的ie里面也可以识别出来了

如图所示:

没有深入探究,猜测可能是QTP启动之后,再打开ie会触发某些模块的加载……而单独打开ie又是不加载的东东……

再次打开ie,打开51论坛(管理员:为什么又不说又?那我为什么说又不说又?到底是重复了该说又,还是不重复说又?!@#$%……)

输入这篇东西,ok,试验结束


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的个人空间 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
regsvr32 /s BHOManager.dll
国外论坛上也有如果无法获取页面元素,在QTP Spy启动后运行IE是一项workaround,据我现在的理解,这可能是QTP Spy自身的一个bug。不知晓你会debug、会写BHO吗? 都不会的话对你来说准确诊断这问题可能有问题。
xiaoshancom发布于2009-09-12 23:05:47
回复 1# 的帖子
碰巧有空看了下这个问题,下面是答复,希望有帮助:

为何无法录制QTP启动前的浏览器
我来说两句

(可选)

我的栏目

日历

« 2024-03-25  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 14722
  • 日志数: 8
  • 建立时间: 2008-01-25
  • 更新时间: 2008-09-22

RSS订阅

Open Toolbar