戒情人 发表于 2009-9-21 12:38:23

这段代码为什么出错?公司的项目被终止,急!

Set oWE= Description.Create()
oWE("micclass").value = "WebElement"
oWE("html tag").Value = "DIV"
Set oWEs = Browser("欢迎进入DtHealth系统").Page("欢迎进入DtHealth系统_3").WebElement("ID语言代码语言描述*").ChildObjects(oWE)
Set des= Description.Create()
des("micclass").value = "WebElement"
des("html tag").Value = "DIV"
Set smalls=oWEs(oWEs.Count-1).ChildObjects(des)
A= smalls(smalls.Count-1).object.value
msgbox A

为什么每次执行到Set smalls=oWEs(oWEs.Count-1).ChildObjects(des)这一句,就报QTP出错,点确定后QTP就关闭了?
我写这段代码的意思是:QTP无法识别Web中的表格,把表格也识别成WebElement("ID语言代码语言描述*"),我先取得这个表格对象的子对象,把一个子对象当做表格中的一行,这样证明是可行的。为了取得具体一行中的一列的数据,即一个单元格的数据,我又取得这行中的子对象,想把这行中一个子对象当作一个单元格。也不知道这样可行不可行。所以写了上面的代码,但是每当运行到Set smalls=oWEs(oWEs.Count-1).ChildObjects(des)这一句QTP就出错,点确定后QTP就关闭了。大家能说一下这是为什么吗?
还有大家对QTP无法识别的Web中的表格是怎样处理的,是怎样取得一个单元格的数据的?

[ 本帖最后由 戒情人 于 2009-9-21 15:18 编辑 ]

dreamever 发表于 2009-9-21 13:25:30

报的是什么错误?把错误代码帖出来?
或者看看oWEs.Count的值是多少。

liujinkui 发表于 2009-9-21 13:46:37

oWEs(oWEs.Count-1).ChildObjects(des)

oWE==des
你在OWES(i)中在去找自己的描述应该是行不通的,至少在加个属性来区分“父子关系”。

戒情人 发表于 2009-9-21 13:58:09

oWE==des
你在OWES(i)中在去找自己的描述应该是行不通的,至少在加个属性来区分“父子关系”。

谢谢朋友的帮忙,按你说的方法试了一下还是不行。
Set des= Description.Create()
des("micclass").value = "WebElement"
des("html tag").Value = "DIV"
des("visible").Value = "true"
Set smalls=oWEs(oWEs.Count-1).ChildObjects(des)
请你们继续帮忙啊。

[ 本帖最后由 戒情人 于 2009-9-21 14:25 编辑 ]

戒情人 发表于 2009-9-21 15:15:47

请大家帮忙啊

请大家帮忙啊,我正在测试公司的一个B/S系统,因为这个问题现在测试进行不下去了。麻烦大家了

小_麦 发表于 2009-9-21 18:05:41

猜测:。。。
webelement应该没有ChildObjects类型是webelement的子对象了,因为Set oWEs = Browser("欢迎进入DtHealth系统").Page("欢迎进入DtHealth系统_3").WebElement("ID语言代码语言描述*")已经是最下的一层了,所以你的属性写的不对。。。你打印一下oWEs.Count的值是多少。还有不建议你用webelement这个对象,因为个人觉得很不可靠应该用DOM的一些方法解决,建议你装一个web developer插件查看一下。。你可以用getelementbytagname..等方法解决

chooseyou123 发表于 2009-9-21 22:01:39

Set oWEs = Browser("欢迎进入DtHealth系统").Page("欢迎进入DtHealth系统_3").WebElement("ID语言代码语言描述*").ChildObjects(oWE)
改成webtable试试。另外,WebElement("ID语言代码语言描述*") 这个里面有这个ID吗?
Set oWEs = Browser("欢迎进入DtHealth系统").Page("欢迎进入DtHealth系统_3").Webtable("ID语言代码语言描述*").ChildObjects(oWE)
页: [1]
查看完整版本: 这段代码为什么出错?公司的项目被终止,急!