mowandao1985 发表于 2010-8-26 12:08:47

Cannot Idefiend object

描述性编程不能识别Link对象,我记得之前我调试运行的时候是可以的,但是现在不知道怎么就不能了。
Set noticeBrowser = Description.Create()
noticeBrowser("title").value = ".*"
      set noticePage= Description.Create()
                noticePage("title").Value = ".*"
      set WebLink_Notice= Description.Create()
                WebLink_Notice("Class Name").Value = "Link"
                WebLink_Notice("text").Value = "继续浏览此网站(不推荐)。"        
                WebLink_Notice("html tag").Value = "A"
Browser(noticeBrowser).Page(noticePage).Link(WebLink_Notice).Click

xiatongbing 发表于 2010-8-26 13:10:44

这个是不是少了一层啊,有个table的,你直接跨下去,不行吧。

mowandao1985 发表于 2010-8-26 15:29:12

没有少,Spy查看的话,是显示有Table层,但是实际是没有Table层的,它是在Page下的。
还是要谢谢你的回答。

mowandao1985 发表于 2010-8-27 09:42:50

Set oDesc = Description.Create()
    oDesc("micclass").Value = searchType
Set Lists = Browser(sBrowser).Page(sPage).ChildObjects(oDesc)
    NumberOfLists = Lists.Count()
For i = 0 To NumberOfLists - 1
        if Lists(i).Object.href <> "" Then
            Reporter.ReportEvent micPass,Lists(i).Object.innertext,Lists(i).Object.href
            print Lists(i).GetRoproperty("html tag")
            print Lists(i).GetRoproperty("name")
            print Lists(i).GetRoproperty("micclass")
            print Lists(i).GetRoproperty("innertext")
            print Lists(i).GetRoproperty("text")
        Else
                Reporter.ReportEvent micFail,Lists(i).Object.innertext,Lists(i).Object.href
        End if
Next
上面代码最后打印的结果如下:
=============1==========
A
单击此处关闭该网页。
Link
单击此处关闭该网页。
单击此处关闭该网页。
=============2==========
A
继续浏览此网站(不推荐)。
Link
继续浏览此网站(不推荐)。
继续浏览此网站(不推荐)。
============3=============
A
更多信息
Link
更多信息
更多信息
我需要的是点击第二个对象,为什么还是提示找不到该对象呢?

mowandao1985 发表于 2010-8-27 09:52:06

searchType为Link

yujie6832 发表于 2010-8-27 09:59:53

我觉得还是要从TABLE这入手,至少你先试试,如果不行以后,你再用描述性编程增加唯一标识,错误提示是不唯一

[ 本帖最后由 yujie6832 于 2010-8-27 10:21 编辑 ]

zzxxbb112 发表于 2010-8-27 10:15:29

WebLink_Notice("Class Name").Value = "Link"没有这种写法的
WebLink_Notice("micClass").Value = "Link"只能这样写

具体可以看这里
【软件测试自动化-QTP系列讲座 32】== 对象封装属性的真正源头 ==
http://blog.csdn.net/zzxxbb112/archive/2010/03/17/5389043.aspx

mowandao1985 发表于 2010-8-27 16:49:16

原帖由 yujie6832 于 2010-8-27 09:59 发表 http://bbs.51testing.com/images/common/back.gif
我觉得还是要从TABLE这入手,至少你先试试,如果不行以后,你再用描述性编程增加唯一标识,错误提示是不唯一
谢谢你的回答:
我用录制的脚本代码运行是可以的,而且输出的index和location的值都为空,所以是不是,曾加唯一标识行不通?

mowandao1985 发表于 2010-8-27 16:51:32

原帖由 zzxxbb112 于 2010-8-27 10:15 发表 http://bbs.51testing.com/images/common/back.gif
WebLink_Notice("Class Name").Value = "Link"没有这种写法的
WebLink_Notice("micClass").Value = "Link"只能这样写

具体可以看这里
【软件测试自动化-QTP系列讲座 32】== 对象封装属性的真正源头 ==
htt ...
谢谢你的回答,你写的这篇文章我之前就看过了,受益匪浅啊。
你说的情况我之前也都试过了,还是不行。

感觉好奇怪啊!
页: [1]
查看完整版本: Cannot Idefiend object