51Testing软件测试论坛

标题: web页面包含iframe的问题---感谢大家的关心,此贴已由超级版主pcl2004_27给出解决方法 [打印本页]

作者: deso    时间: 2006-6-27 09:28
标题: web页面包含iframe的问题---感谢大家的关心,此贴已由超级版主pcl2004_27给出解决方法
我的web页最下面一块是引入iframe的版权页面.导致我动态读取不到iframe外的其它链接。
我的动态读取语句如下:
set oDesc = Description.Create()
oDesc("Class Name").value="Link"
set objColl = Browser("供应商").Page("供应商").ChildObjects(oDesc)
NumberOfLists =ObjectColl.Count()
-----页面上本来有十几个link的,但因为页面下面有iframe的原因,跟踪以上语句发现读取的是iframe里的link,始终读取不到iframe外的link , 请问如何解决?

[ 本帖最后由 deso 于 2006-7-3 08:54 编辑 ]
作者: xiaonan    时间: 2006-6-27 10:29
不太明白你说的
作者: deso    时间: 2006-6-27 10:33
原帖由 xiaonan 于 2006-6-27 10:29 发表
不太明白你说的

---------------------------------------

  我是要取页面中link集合,然后分析link, 取到正确的link , 但发现取到的集合始终是iframe里的link集合. 这样的话,我就漏取和漏分析iframe外这个页面的link了, 自然也就得不到我要的结果了
作者: xiaonan    时间: 2006-6-27 10:37
iframe这个能够先去掉一下哇啦?跟你开发去商量一下,先弄个测试版,测完再放上去.
作者: deso    时间: 2006-6-27 10:47
原帖由 xiaonan 于 2006-6-27 10:37 发表
iframe这个能够先去掉一下哇啦?跟你开发去商量一下,先弄个测试版,测完再放上去.


啊? 这样没解决问题啊! 系统是已经完成了的,难道要再去改系统
作者: lovetest6    时间: 2006-6-27 15:09
是不是参考了手册中如下的代码?
  1. Sub ChildObjects_Example()
  2. 'The following example uses the ChildObjects method to find all the
  3. 'list objects on a Web page, and then to select an item in each list.

  4. Set oDesc = Description.Create()
  5. oDesc("micclass").Value = "WebList"
  6. Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)
  7. NumberOfLists = Lists.Count()
  8. For i = 0 To NumberOfLists - 1
  9. Lists(i).Select i + 1
  10. Next


  11. End Sub
复制代码


这个例子,我去年的时候好像发贴说过,MI给的这个例子很不好理解。
除了这个以外,还有几个写的不对,或不清楚的。就不一一列举了。

[ 本帖最后由 lovetest6 于 2006-6-27 15:45 编辑 ]
作者: deso    时间: 2006-6-27 15:37
原帖由 lovetest6 于 2006-6-27 15:09 发表
是不是参考了手册中如下的代码?
Sub ChildObjects_Example()
'The following example uses the ChildObjects method to find all the
'list objects on a Web page, and then to select an item in each list ...



是的, 但是不能解决页面中有iframe的问题,知道怎么解决页面包含iframe但要取到iframe外的ChileOjbects吗?
作者: lovetest6    时间: 2006-6-27 15:44
原帖由 deso 于 2006-6-27 09:28 发表
我的web页最下面一块是引入iframe的版权页面.导致我动态读取不到iframe外的其它链接。
我的动态读取语句如下:
set oDesc = Description.Create()
oDesc("Class Name").value="Link"
set ...


加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")

你得到的是iframe的集合吧??
作者: deso    时间: 2006-6-27 15:51
原帖由 lovetest6 于 2006-6-27 15:44 发表


加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")

你得到的是iframe的集合吧??


是的, 就是因为得到的只是iframe的集合,所以烦, 怎么得到不是iframe里的集合呢?
作者: deso    时间: 2006-6-27 16:00
原帖由 lovetest6 于 2006-6-27 15:44 发表


加上底下这句看看。
msgbox objcoll(0).GetROProperty("name")

你得到的是iframe的集合吧??


msgbox objcoll(0).GetROProperty("name")
得到的是iframe的name
作者: lovetest6    时间: 2006-6-27 17:00
首先至少用
oDesc("html tag").value="A"比较好吧。
oDesc("Class Name").value="Link"似乎没找到。
作者: lovetest6    时间: 2006-6-27 17:04
是不是应该在tool-option-web里面设置些什么?
作者: deso    时间: 2006-6-28 08:55
原帖由 lovetest6 于 2006-6-27 17:00 发表
首先至少用
oDesc("html tag").value="A"比较好吧。
oDesc("Class Name").value="Link"似乎没找到。


如果你的iframe里也有link的话, 那么找到的就是iframe里的link, iframe外的如何找呢? 另外,oDesc("html tag").value="A"和oDesc("Class Name").value="Link"的描述应该是一样的
作者: songfun    时间: 2006-6-28 09:01
呵呵关注一下
作者: deso    时间: 2006-6-28 15:00
原帖由 songfun 于 2006-6-28 09:01 发表
呵呵关注一下


怎么没人帮忙解决一下啊sdlkfj7  郁闷很久了。。。
作者: walker1020    时间: 2006-6-28 21:49
标题: 试试下面的的方法
楼主,请把     oDesc("Class Name").value="Link"   改为 oDesc("Class Name").innertext ="Link"  试试看看。
不管问题是否得到解决,请把运行的结果发布上来。
作者: deso    时间: 2006-6-29 08:48
原帖由 walker1020 于 2006-6-28 21:49 发表
楼主,请把     oDesc("Class Name").value="Link"   改为 oDesc("Class Name").innertext ="Link"  试试看看。
不管问题是否得到解决,请把运行的结果发布上来。


首先,谢谢这位仁兄的支持~~~

描述性语句里 没有oDesc("Class Name").innertext ="Link" 这种语法吧? 运行的结果自然也就是"  对象不支持引属性或方法 oDesc('...').innertext    "
作者: walker1020    时间: 2006-6-29 09:50
标题: 试试下面的的方法(续)
不好意思,自己对QTP还是不熟悉。 你用  oDesc("innertext ").value="Link" 试试看。
作者: deso    时间: 2006-6-29 11:06
原帖由 walker1020 于 2006-6-29 09:50 发表
不好意思,自己对QTP还是不熟悉。 你用  oDesc("innertext ").value="Link" 试试看。


多谢仁兄。。

link是class 的属性名, innertext是包含的文字吧? 怎么可能oDesc("innertext ").value="Link",自然也执行不出什么结果了...
作者: yangkinki    时间: 2006-6-29 12:01
实际操作中是否会激活 iframe外的link 呢,楼主是要测试什么功能,能说尽量说得明白些
作者: deso    时间: 2006-6-29 14:40
原帖由 yangkinki 于 2006-6-29 12:01 发表
实际操作中是否会激活 iframe外的link 呢,楼主是要测试什么功能,能说尽量说得明白些


动态取到页面所有的ChildObjects , 但page('...').ChildObjects(oDesc)得到的没有得到我想要的集合, 集合中只包含了page中的iframe部份, iframe外的其它page部分没有取到!!!

以上描述够不够明白呢?
作者: 海龙    时间: 2006-6-29 21:31
页面可不可以外部访问,或者给一个类似的页面,大家可以帮助调试
作者: deso    时间: 2006-6-30 08:48
原帖由 海龙 于 2006-6-29 21:31 发表
页面可不可以外部访问,或者给一个类似的页面,大家可以帮助调试


谢谢仁兄。。

你可以构造一个很简单页面: page中包含一iframe和一link, 测试可以不可用page('...').ChileObjects(oDesc)来取到link集合.
作者: deso    时间: 2006-6-30 16:08
这个问题这么沉下去了? 51testing没人了?
作者: QA_BAY    时间: 2006-6-30 16:59
1.没有人能解决是很正常的.不是所有的问题都能解决,大家都是靠自己自学.
2.最好能提供链接,解决起来比较快,没有环境,都是靠想,猜,经验.所以解决起来比较难
3.不是所有人都有义务帮你解决问题,不能解决问题就靠自己!
4.希望你不那么执着!
作者: deso    时间: 2006-6-30 17:40
原帖由 QA_BAY 于 2006-6-30 16:59 发表
1.没有人能解决是很正常的.不是所有的问题都能解决,大家都是靠自己自学.
2.最好能提供链接,解决起来比较快,没有环境,都是靠想,猜,经验.所以解决起来比较难
3.不是所有人都有义务帮你解决问题,不能解决问题就靠自 ...


1、问题解决不了是什么问题呢? 人的问题还是QTP软件的问题,我想大多应该是软件的问题吧。要不QTP没搞好这块, 要不就是testing的人都没什么人很了解QTP。
2、page中包含一iframe和一link, 测试可以不可用page('...').ChileObjects(oDesc)来取到link集合. 这样的环境还不够简单的吗? 应该不用给什么所谓的链接了吧。
3、是,不是所有人都有义务来解决。但没人出来解决此问题说明了什么呢? 人心的冷漠还是问题太高深了呢?

另外, 我想说的是:说了这么多, 你如果行的话,你用写以上三点的时间,这个“小问题”你都不能援手吗? 还是说你没有义务? 你要怎么做版主下去呢?  你这所谓的版主还没有一个中级战友“walker1020”好心啊,人家虽然没有帮上什么忙,但人家至少帮忙想了。  你这三点真是够寒心的了....

[ 本帖最后由 deso 于 2006-6-30 17:45 编辑 ]
作者: walker1020    时间: 2006-6-30 19:49
deso 兄弟,你也不要这么说吗。大家都是好心帮你解决问题,也是无偿帮你解决问题,都是希望你的问题得到解决。我也一样。你的问题没有得到解决,可能是我们的水平还不够,高手又没有及时出现,也可能是 QTP 根本就解决不了你说的这个问题。毕竟QTP只是一个工具,而任何工具都不是万能的。我就遇到了这样的情况:在录制我们公司开发的某个系统的时候,不管进行什么样的操作,QTP死活都不给我录制。

要不是因为公司没有钱去买MI公司的QTP,我就替你去问MI公司的Customer Support 让他们帮你解决这个问题了。实在是抱歉。
作者: xiaonan    时间: 2006-6-30 22:16
原帖由 deso 于 2006-6-30 16:08 发表
这个问题这么沉下去了? 51testing没人了?


     经常上论坛、泡论坛的专家并不是很多,所以如果帖子没人帮你解决只能说明暂时还没有人能给你想要的答案。欢迎靠自己的努力把问题解决掉,然后把思路放到论坛上,这样论坛的交流气氛才能出来,才能有更多新的专家随着论坛成长起来。
    不是每个人都有这个环境来帮你模拟你的情况,大多只是在利用一些经验来希望给你点帮助.看到楼主这样说话,真的觉得有点心冷.我把你这个问题还连接到了其他版快,最近我们一些版主也比较忙,所以可能还没关注到你这个问题.
作者: pcl2004_27    时间: 2006-7-1 01:41
楼主的问题是否是要获取到页面(页面中包含iframe,iframe中也包含了链接,iframe之外也有很多链接)中所有的链接?

如果实现上边的功能,我解决了楼主的问题
作者: pcl2004_27    时间: 2006-7-1 23:52
因为周六上班,所以没时间把具体的解决方法写出来,下班回来,我把自己针对你的问题,根据你的描述模拟一个环境之后,写的解决方法发到我的blog上了,链接如下
http://blog.51testing.com/pcl/archive/2006/07/01/587.html

可以去看看!
作者: walker1020    时间: 2006-7-2 15:01
deso 兄弟,你现在看到了吧,斑竹们都是很负责任的。特别是  pcl2004_27  超级版主 ,为了解决你的问题还专门模拟了一个环境,给出了详细的答案,并且把代码在中Window2000ad sp4+qtp8.2上调试通过了。所以以你该好好感谢一下各个斑竹了。

[ 本帖最后由 walker1020 于 2006-7-2 15:03 编辑 ]
作者: deso    时间: 2006-7-3 08:41
原帖由 walker1020 于 2006-7-2 15:01 发表
deso 兄弟,你现在看到了吧,斑竹们都是很负责任的。特别是  pcl2004_27  超级版主 ,为了解决你的问题还专门模拟了一个环境,给出了详细的答案,并且把代码在中Window2000ad sp4+qtp8.2上调试通过了。所以以你该 ...

谢谢walker1020兄弟, 谢谢大家给予的关心
作者: deso    时间: 2006-7-3 08:42
原帖由 pcl2004_27 于 2006-7-1 23:52 发表
因为周六上班,所以没时间把具体的解决方法写出来,下班回来,我把自己针对你的问题,根据你的描述模拟一个环境之后,写的解决方法发到我的blog上了,链接如下
http://blog.51testing.com/pcl/archive/2006/07/01/587 ...

非常感谢pcl2004_27超级版主给予的帮助。谢谢了
作者: QA_BAY    时间: 2006-7-3 10:05
原帖由 deso 于 2006-6-30 16:08 发表
这个问题这么沉下去了? 51testing没人了?

你觉得这样说话没有问题吗?
作者: deso    时间: 2006-7-4 14:29
原帖由 QA_BAY 于 2006-7-3 10:05 发表

你觉得这样说话没有问题吗?


我发现你很小鸡肚肠, 我都结束此贴了,还在这里叽叽歪歪。不帮忙不说, 就知道在这里指东指西的。 你当的是什么"版主"?
作者: QA_BAY    时间: 2006-7-4 14:52
如果你量大就不用回我
你说话要有良心,大家都在这里帮你忙,你发信息给我,我是怎么对你说的.拿出来给大家看!
如果能提供链接,我帮你测试.难道还不够好人吗?
我写的那段话是针对你说话太狂,如果你利害,为什么不叫你的开发帮你.开发帮不了你,难道你说开发没有人了吗!

[ 本帖最后由 QA_BAY 于 2006-7-4 15:22 编辑 ]
作者: lovetest6    时间: 2006-7-5 17:31
嗯,pcl的果然正解,呵呵。比我等草包强不少。
我还真没想到。呵呵。
强烈建议大家踊跃参加51Testing的培训。

比自学有更多收获。吼吼。:)

另,PCL能不能解释一下,如何理解有Iframe就不能成功遍例出link的问题啊?
是不是可以认为这是QTP的一个BUG啊??

因为很明显,iframe是个childobject.
为什么会喧宾夺主啊??不管怎么说,我用
oDesc("html tag").Value = "A"
也不能得出Iframe的集合啊。

[ 本帖最后由 lovetest6 于 2006-7-5 17:48 编辑 ]
作者: deso    时间: 2006-7-6 09:51
原帖由 QA_BAY 于 2006-7-4 14:52 发表
如果你量大就不用回我
你说话要有良心,大家都在这里帮你忙,你发信息给我,我是怎么对你说的.拿出来给大家看!
如果能提供链接,我帮你测试.难道还不够好人吗?
我写的那段话是针对你说话太狂,如果你利害, ...


哈。。叫开发帮我? 我就是搞开发的, 只是我先研究qtp,然后再去教测试部的人使用。
作者: deso    时间: 2006-7-6 09:54
原帖由 lovetest6 于 2006-7-5 17:31 发表
嗯,pcl的果然正解,呵呵。比我等草包强不少。
我还真没想到。呵呵。
强烈建议大家踊跃参加51Testing的培训。

比自学有更多收获。吼吼。:)

另,PCL能不能解释一下,如何理解有Iframe就不能成功遍例出li ...


是啊, 这个问题是有点怪。。。 我也自学的, 一直在搞开发, 研究qtp两个星期, 这个问题可是困了我好久, 多亏了pcl
作者: suifengpiao    时间: 2007-8-13 16:03
解决问题的链接怎么打不开呢?sdlkfj7
作者: walker1020    时间: 2007-8-13 23:24
标题: 试试下面的链接
(QuickTestPro处理带有IFRAME的问题)  http://www.51testing.com/html/27/1566.html
(QuickTestPro处理带有IFRAME的问题(续))  http://www.51testing.com/html/27/1565.html
作者: suifengpiao    时间: 2007-8-14 11:52
谢谢版主,可以打开了
作者: FLY000    时间: 2010-11-19 16:35
(QuickTestPro处理带有IFRAME的问题)  
(QuickTestPro处理带有IFRAME的问题(续))
walker1020 发表于 2007-8-13 23:24


本帖的精华
作者: dqhzh    时间: 2012-11-30 09:53





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