51Testing软件测试论坛

标题: 遇到一个自动化测试难题!还请高手帮忙看看!在线等! [打印本页]

作者: heheguai    时间: 2010-3-14 11:16
标题: 遇到一个自动化测试难题!还请高手帮忙看看!在线等!
就是直接用 javascript调用 InternetExplorer.Application 对象,但是 使用这个打开一个网站后,可以获得网页里面的元素内容,但是如果点击网站上的 连接之后,就马上失去了对网页的控制,无法获取新打开的链接甚至对原网页也无法获取元素了。 试问一下有什么办法能解决吗?  另外刚想到的一直思路是 QTP 自带的web插件是 通过BHOManager.dll 来其作用的,能否在html网页中用javascript调用这个dll ?  这个不是在qtp中运行而是在网页中运行。有高手能帮忙吗?下周就要交差了,还没解决这个困难。
作者: 恋上一支鱼    时间: 2010-3-14 14:00
帮你顶
作者: freedliweiyuan    时间: 2010-3-15 08:25
再顶~~
作者: yujie6832    时间: 2010-3-15 09:48
标题: 回复 1# 的帖子
我帮你转接ZZXXBB112大师,这个问题我自己没碰到过,不敢说,而且也没在现场
目前“大师电话占线中”。。。
作者: zzxxbb112    时间: 2010-3-15 10:11
可以去看十六期杂志中我发表的那篇IE自动化模型结合HTML DOM的自动化测试中有讲解,可以通过遍历所有IE窗口,然后通过句柄结合以URL作为参数来获取IE对象实例,这样就可以想控制哪个IE窗口就控制哪个窗口了。
我不是大师,只是个小混混,呵呵!
作者: yujie6832    时间: 2010-3-15 10:16
哦,看过的,也会应用,但是我就是没想到~大师就是大师,我才是小混混
作者: heheguai    时间: 2010-3-15 10:53
首先非常感谢 zzxxbb112  ,但是问题是,我只是在hta中运行,并不是在qtp中运行,这个在hta中能否通过 hwnd来控制?还是 比如 我在hta中引用qtp的 那个BHOManager.dll ,在hta中使用? 或者有别的办法?
作者: skyzhu    时间: 2010-3-15 11:15
用InternetExplorer.Application  里的 Navigate 转链接吧,这样还有希望
BHOManager.dll 多数是没办法直接用的,javascript更没希望了
作者: xiaoyaoke    时间: 2010-3-15 11:24
你一直在说使用BHOManager.dll,我不太明白你怎么看到BHOManager.dll中定义的函数和参数?
作者: zzxxbb112    时间: 2010-3-15 13:38
原帖由 heheguai 于 2010-3-15 10:53 发表
首先非常感谢 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
那到也是,看来我研究的方向错误,不然 人家HP 还吃啥饭。。 只能在想别的!
作者: onlonely    时间: 2010-3-16 15:25
你用"Shell.Application"对象,的Shellobj.Windows() 方法 是能获得所有打开的WIN窗口的,
不过总之一句话,用其他方式,终究无法做到HP那个那么强大,
我用,autoit,大部分WEB的可以自动化,但是如果超出WEB,dom对象,就很难操作了.
作者: near    时间: 2010-3-25 11:38
说的很高深    全是高手




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2