nndlm 发表于 2010-9-15 16:07:20

qtp下拉菜单识别问题

菜单形式:A->B->C(B,C都是子菜单)
以下是录制的脚本
(1)以下是A菜单的识别,回放正常
Browser("XX").Page("XX").Frame("Frame").Image("MenuItem_1_1_1").FireEvent "onmouseover"
Browser("XX").Page("XX").Frame("Frame").Image("MenuItem_1_1_1").Click
Browser("XX").Page("XX").Sync
(2)以下是B菜单的识别,回放时会导致程序错误,提示“”
Page("Page_2").WebElement("ArrowRHighlight").Click
(3)以下是B菜单的识别,回放时会导致程序错误
Page("Page").WebElement("WebTable").Click

想知道是不是子菜单的上级菜单未能识别所致呢?有人能帮解答吗,谢谢。

鹭岛 发表于 2010-9-16 09:40:36

:L :L :L :L
没办法,老老实实,就是这样子的,你这类型的菜单我见过,只能点击第一个才能出第二个,跟我平时碰到的CRM那种不太一样,可以直接点击最后一层的。以前我第一次碰到这样的时候,我还以为我QTP出错呢,哈哈,有些程序做得比较牛(可以说很垃圾,我们这边一个系统就这样,重做了,之前我给他们做自动化的时候就是发现,QTP竟然无法直接点击第三层,而只能一个一个点击)

鹭岛 发表于 2010-9-16 09:45:05

'点击受理录入(先点击AA,再点BB)
Browser("Title:=文").Page("index:=0").WebElement("innertext:=AA","index:=0").Click
Page("index:=0").WebElement("innertext:=BB","index:=0").Click
Browser("Title:=文").Page("index:=0").Sync

我之前写的一个系统的脚本,就是按步骤点击的,第一步点击AA,第二步点击BB
你是三层,那就是点完BB还要点CC

nndlm 发表于 2010-9-19 09:50:04

谢谢鹭岛

按你所写,BB的上层page为AA的page,但我这块,下层菜单的page与上层菜单的page并不相同,是咋回事呢,我用index去识别page,qtp并不能正确识别,是何原因呢?

kavensyw 发表于 2010-9-19 20:12:51

回复 4# nndlm


    不行的话,用sendkey发送方向键有没有用呢

nndlm 发表于 2010-9-20 10:46:45

程序菜单不支持键盘操作,似乎找不到办法了:'(

lmwangwang 发表于 2010-9-20 17:05:12

我们系统里的菜单也是有三级,但是从第一级到后面的子菜单不需要点击,只要将鼠标放到上一级菜单上就可以了,这样的话是不是可以写成:
'点击受理录入(先点击AA,再点BB)
Browser("Title:=文").Page("index:=0").WebElement("innertext:=AA","index:=0").fireEvent "onmouseover"
Page("index:=0").WebElement("innertext:=BB","index:=0").fireEvent "onmouseover"
Page("index:=0").WebElement("innertext:=CC","index:=0").click

这种菜单还有一个问题,就是用object spy识别时无法识别到子菜单,将手标直接放在AA菜单上时子菜单是不会显示出来的,如果同时按住CTRL键再点击AA菜单只会识别出AA菜单,不知道大家有没有遇到过这种菜单,一般是怎么处理的呢?

素还真 发表于 2010-9-21 11:19:52

谢谢鹭岛

按你所写,BB的上层page为AA的page,但我这块,下层菜单的page与上层菜单的page并不相同,是咋 ...
nndlm 发表于 2010-9-19 09:50 http://bbs.51testing.com/images/common/back.gif

你可以使用Page("index:=1")或者2或者3....
1应该是可以的
原始的是0,多一个出来就用1来看看

nndlm 发表于 2010-9-26 09:32:26

我把第一层菜单的page(XXX)换成page("index:=1")的形式,qtp压根识别不出来,这层qtp录制识别是none,没有用index,我手动在对象库中更改也不行
另外,对于二三层菜单,qtp录制识别为Page("Page_2").WebElement("ArrowRHighlight").Click,回放时应该是找到对象了,只是执行后程序报出这样的错误"Parent.Mainmenu为空或不是对象"
页: [1]
查看完整版本: qtp下拉菜单识别问题