求教:Browser("hwnd:=" & hwnd).Navigate
我在【51Testing丛书连载:(五十一)精通QTP——自动化测试技术领航】中“获取当前窗口的句柄”的实例运行中报以下错误:******************************************************************************
无法标识对象 "[ Browser ]" (属于类 Browser)。验证此对象的属性与当前显示在应用程序中的对象是否匹配。
第 (11) 行: "Browser("hwnd:=" & hwnd).Navigate "http://www.baidu.com""。
提示: 如果应用程序中的对象已更改,维护运行模式可以
帮助您识别和更新库中的步骤和/或对象。
******************************************************************************
请问这个问题怎么解决呢?
源代码如下:
'#######启动浏览器########
systemutil.Run "iexplore.exe"
'#######创建APIExtern对象##########
Extern.Declare micHWnd,_
"GetForegroundWindow", "user32.dll", "GetForegroundWindow"
'######使用WIN32 API获取窗口的句柄######
hwnd = Extern.GetForegroundWindow()
'########通过获取的句柄控制浏览器窗口并跳转百度#####
Browser("hwnd:=" & hwnd).Navigate "http://www.baidu.com" '这句报错!!!!!!!! 我也试了下貌似是不行, LZ最好去问作者吧, 论坛上有一个专门解答该书问题的帖子:
"2012年给力新作《精通QTP——自动化测试技术领航》试读以及答疑专用贴 "
链接为:http://bbs.51testing.com/viewthread.php?tid=526210&extra=&page=1 '#######启动浏览器########
systemutil.Run "iexplore.exe"
'######取到当前页面的句柄######
HWND = Browser("XXXXX").GetROProperty("hwnd")
'########通过获取的句柄控制浏览器窗口并跳转百度#####
Browser("hwnd:=" & HWND ).Navigate "http://www.baidu.com" 回复 3# joykao
我用你的方法试了,程序时能跑通,但是没有跳转到百度页面,浏览器还是停留在blank。 '#######启动浏览器########
systemutil.Run "iexplore.exe"
'#######创建APIExtern对象##########
Extern.Declare micHWnd,_
"GetForegroundWindow", "user32.dll", "GetForegroundWindow"
'######使用WIN32 API获取窗口的句柄######
hwnd = Extern.GetForegroundWindow()
print hwnd
'########通过获取的句柄控制浏览器窗口并跳转百度#####
a=Browser("micClass:=Browser").GetROProperty ("hwnd")
print a
Browser("hwnd:=" & hwnd).Navigate "http://www.baidu.com"
你看下 2个打印信息 就知道2个hwnd 不一样 学习下 回复 5# cellule
是不一样,所以这个问题还是没解决到。你有解决办法么? 回复 7# 紫藤萝mary
你用我的打印看看 是不是每次,取Dll的hwnd 是唯一固定的,然后后面取web的是不固定的 回复 8# cellule
嗯,正如你所说,dll打印的每次都不变,web的每次都在变。但是用web的hwnd程序不会报错,但是也打不开百度页面。这是什么原因呢? 回复 4# 紫藤萝mary
你的句柄取错了吧。。能把你的代码贴一下吗?
如果你想哪个页面跳转就取哪个页面的句柄,按你说的应该是这样写
HWND = Browser("name:=New Tab").GetROProperty("hwnd") 回复 10# joykao
还是报错:
无法标识对象 "[ Browser ]" (属于类 Browser)。验证此对象的属性与当前显示在应用程序中的对象是否匹配。
第 (9) 行: "hwnd = Browser("name:=Browser").GetROProperty("hwnd")"。
我的代码:
'#######启动浏览器########
systemutil.Run "iexplore.exe"
'#######创建APIExtern对象##########
'Extern.Declare micHWnd,"GetForegroundWindow", "user32.dll", "GetForegroundWindow"
'########通过获取的句柄控制浏览器窗口并跳转百度#####
'hwnd = Extern.GetForegroundWindow()
hwnd = Browser("name:=Browser").GetROProperty("hwnd")
Browser("hwnd:=" & hwnd).Navigate "http://www.baidu.com" 回复 10# joykao
还是报错:
无法标识对象 "[ Browser ]" (属于类 Browser)。验证此对象的属性与当前显示在应用程序中的对象是否匹配。
第 (9) 行: "hwnd = Browser("name:=Browser").GetROProperty("hwnd")"。
我的代码:
'#######启动浏览器########
systemutil.Run "iexplore.exe"
'#######创建APIExtern对象##########
'Extern.Declare micHWnd,"GetForegroundWindow", "user32.dll", "GetForegroundWindow"
'########通过获取的句柄控制浏览器窗口并跳转百度#####
'hwnd = Extern.GetForegroundWindow()
hwnd = Browser("name:=Browser").GetROProperty("hwnd")
Browser("hwnd:=" & hwnd).Navigate "http://www.baidu.com" 肯定错啊。。。必须的。。。
'你打开的一个的页面应该是你设置的主页,或者空页面
我试了下没问题:lol
Systemutil.Run "iexplore.exe"
Browser("micClass:=Browser").OpenNewTab
HWND = Browser("name:=New Tab").GetROProperty("hwnd")
Browser("micClass:=Browser","hwnd:=" &HWND ).Navigate "http://www.baidu.com" 回复 13# joykao
常规运行错误。
"Browser("micClass:=Browser").OpenNewTab"。 回复 14# 紫藤萝mary
是你IE设置有问题,你可以重装下你的IE, 装完记得把BHO manager class 启动下 再执行脚本 回复 15# joykao
ok咯。万分感谢!!! 回复 15# joykao
不是吧,我也是IE8 啊。英文版的,那段脚本真心没问题哇:Q我跑了N遍了。。
你的IE 默认打开的是什么页面是不是有问题啊? 我也是ie,使用一切正常,肯定是好的,首页为空,也执行不了这段话,录其它web都是好的,所以不可能是bhomanager有问题。这个怎么看 回复 18# jacksboy
哎。。。。还是去问书的作者吧。。。。。QTP 论坛的一位斑竹就是你们用的书的作者
Systemutil.Run "iexplore.exe"
Browser("micClass:=Browser").OpenNewTab
HWND = Browser("name:=New Tab").GetROProperty("hwnd")
Browser("micClass:=Browser","hwnd:=" &HWND ).Navigate "http://www.baidu.com"
这个执行的是没问题的吧? 嗯,我是win7+ie8+qtp11,也是执行有问题
页:
[1]
2