heheguai 发表于 2010-3-14 11:16:16

遇到一个自动化测试难题!还请高手帮忙看看!在线等!

就是直接用 javascript调用 InternetExplorer.Application 对象,但是 使用这个打开一个网站后,可以获得网页里面的元素内容,但是如果点击网站上的 连接之后,就马上失去了对网页的控制,无法获取新打开的链接甚至对原网页也无法获取元素了。 试问一下有什么办法能解决吗?另外刚想到的一直思路是 QTP 自带的web插件是 通过BHOManager.dll 来其作用的,能否在html网页中用javascript调用这个dll ?这个不是在qtp中运行而是在网页中运行。有高手能帮忙吗?下周就要交差了,还没解决这个困难。

恋上一支鱼 发表于 2010-3-14 14:00:45

帮你顶

freedliweiyuan 发表于 2010-3-15 08:25:45

再顶~~

yujie6832 发表于 2010-3-15 09:48:54

回复 1# 的帖子

我帮你转接ZZXXBB112大师,这个问题我自己没碰到过,不敢说,而且也没在现场:)
目前“大师电话占线中”。。。

zzxxbb112 发表于 2010-3-15 10:11:31

可以去看十六期杂志中我发表的那篇IE自动化模型结合HTML DOM的自动化测试中有讲解,可以通过遍历所有IE窗口,然后通过句柄结合以URL作为参数来获取IE对象实例,这样就可以想控制哪个IE窗口就控制哪个窗口了。
我不是大师,只是个小混混,呵呵!:lol

yujie6832 发表于 2010-3-15 10:16:55

哦,看过的,也会应用,但是我就是没想到~大师就是大师,我才是小混混:lol

heheguai 发表于 2010-3-15 10:53:27

首先非常感谢 zzxxbb112,但是问题是,我只是在hta中运行,并不是在qtp中运行,这个在hta中能否通过 hwnd来控制?还是 比如 我在hta中引用qtp的 那个BHOManager.dll ,在hta中使用? 或者有别的办法?

skyzhu 发表于 2010-3-15 11:15:44

用InternetExplorer.Application里的 Navigate 转链接吧,这样还有希望
BHOManager.dll 多数是没办法直接用的,javascript更没希望了

xiaoyaoke 发表于 2010-3-15 11:24:07

你一直在说使用BHOManager.dll,我不太明白你怎么看到BHOManager.dll中定义的函数和参数?

zzxxbb112 发表于 2010-3-15 13:38:28

原帖由 heheguai 于 2010-3-15 10:53 发表 http://bbs.51testing.com/images/common/back.gif
首先非常感谢 zzxxbb112,但是问题是,我只是在hta中运行,并不是在qtp中运行,这个在hta中能否通过 hwnd来控制?还是 比如 我在hta中引用qtp的 那个BHOManager.dll ,在hta中使用? 或者有别的办法?

hta比html权限高,当然能通过,你想要调用BHOManager.dll干什么,这个文件调了又没用,他只是一个嵌在IE里的一个IE插件,为了能让QTP成功识别其的对象,要调也要调WWWPACKAGE.DLL啊~不过就算调了也不能用,就好像你拿着一个轮子在开车一样,你说开的起来吗,呵呵,而且如果就这样被你轻松的调用了,HP还拿什么混~

heheguai 发表于 2010-3-15 14:26:19

那到也是,看来我研究的方向错误,不然 人家HP 还吃啥饭。。 只能在想别的!

onlonely 发表于 2010-3-16 15:25:38

你用"Shell.Application"对象,的Shellobj.Windows() 方法 是能获得所有打开的WIN窗口的,
不过总之一句话,用其他方式,终究无法做到HP那个那么强大,
我用,autoit,大部分WEB的可以自动化,但是如果超出WEB,dom对象,就很难操作了.

near 发表于 2010-3-25 11:38:59

说的很高深    全是高手
页: [1]
查看完整版本: 遇到一个自动化测试难题!还请高手帮忙看看!在线等!