Nsdsds 发表于 2008-10-23 15:06:43

描述性编程

请大虾指点
原文件是
Browser("aaaa").Page("bbb").Link("cccc").click
由于系统的不只一个数据库,所以Browser和Page中的信息会经常改变,因此就想到使用描述性编程来解决
但是总是不能通过
我的代码是
Dim BrowserDesc,PageDesc,LinkDesc
set BrowerDesc = Description.Create()
set PageDesc = Description.Create()
set LinkDesc = Description.Create()

BrowserDesc("title").value = "aaa"
PageDesc("name").value = "bbb"
LinkDesc("name").value = "ccc"

Browser(BrowserDesc).Page(PageDesc).Link(LinkDesc).click
总是运行到最后一步的时候说Can not find the "" object's parent "" class. Verify that parent properties match an object currently displayed in your appliaction

我已经把object idientication中的property改的和识别的一样了
如果我仅仅只是把Link用做描述性编程就是正确的

请高手点下,是什么地方错误了

小孩 发表于 2008-10-23 15:19:30

BrowserDesc("title").value = "aaa" '游览器没有TITLE 属性的
PageDesc("name").value = "bbb" ‘
LinkDesc("name").value = "ccc"

Nsdsds 发表于 2008-10-23 15:52:19

回2#
我改成name也还是不行啊

假装不在 发表于 2008-10-23 16:59:28

Dim BrowserDesc,PageDesc,LinkDesc
set BrowerDesc = Description.Create()
set PageDesc = Description.Create()
set LinkDesc = Description.Create()

BrowserDesc("title").value = "aaa"
PageDesc("name").value = "bbb"
LinkDesc("name").value = "ccc"

msgbox browser(BrowserDesc).exist(0)
msgboxbrowser(BrowserDesc).page(PageDesc).exist(0)
msgboxBrowser(BrowserDesc).Page(PageDesc).Link(LinkDesc).exist(0)

你先调试下那步出了问题。
个人建议修改成:
link_name="...."
browser("creationtime:=0").page("index:=0").Link("name:="&link_name).click

Nsdsds 发表于 2008-10-23 17:37:13

用了4#的方法
得到的结果是Browser(BrowserDesc).Exist是False

为什么????是我的属性太少了??
还是我代码什么地方错误了??

Nsdsds 发表于 2008-10-23 21:15:02

在家里试了下,用相同的代码是通过的

暂时不确定是什么问题

请问会不会是IE的问题??

Nsdsds 发表于 2008-10-26 22:08:15

在公司试了试还是出错的,而且在msgbox browser(BrowserDesc).exist(0)就是False
在家里用的是QTP自带的例子,是可以进行识别的

不知道是不是设置的问题,同样的代码,在不同的地方就会有不同的结果

请问大侠们,是不是我的属性太少了???

Broswer好像是有title属性的吧
页: [1]
查看完整版本: 描述性编程