51Testing软件测试论坛
标题:
qtp下拉菜单识别问题
[打印本页]
作者:
nndlm
时间:
2010-9-15 16:07
标题:
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
没办法,老老实实,就是这样子的,你这类型的菜单我见过,只能点击第一个才能出第二个,跟我平时碰到的CRM那种不太一样,可以直接点击最后一层的。以前我第一次碰到这样的时候,我还以为我QTP出错呢,哈哈,有些程序做得比较牛(可以说很垃圾,我们这边一个系统就这样,重做了,之前我给他们做自动化的时候就是发现,QTP竟然无法直接点击第三层,而只能一个一个点击)
作者:
鹭岛
时间:
2010-9-16 09:45
'点击受理录入(先点击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
谢谢鹭岛
按你所写,BB的上层page为AA的page,但我这块,下层菜单的page与上层菜单的page并不相同,是咋回事呢,我用index去识别page,qtp并不能正确识别,是何原因呢?
作者:
kavensyw
时间:
2010-9-19 20:12
回复
4#
nndlm
不行的话,用sendkey发送方向键有没有用呢
作者:
nndlm
时间:
2010-9-20 10:46
程序菜单不支持键盘操作,似乎找不到办法了
作者:
lmwangwang
时间:
2010-9-20 17:05
我们系统里的菜单也是有三级,但是从第一级到后面的子菜单不需要点击,只要将鼠标放到上一级菜单上就可以了,这样的话是不是可以写成:
'点击受理录入(先点击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
谢谢鹭岛
按你所写,BB的上层page为AA的page,但我这块,下层菜单的page与上层菜单的page并不相同,是咋 ...
nndlm 发表于 2010-9-19 09:50
你可以使用Page("index:=1") 或者2或者3....
1应该是可以的
原始的是0,多一个出来就用1来看看
作者:
nndlm
时间:
2010-9-26 09:32
我把第一层菜单的page(XXX)换成page("index:=1")的形式,qtp压根识别不出来,这层qtp录制识别是none,没有用index,我手动在对象库中更改也不行
另外,对于二三层菜单,qtp录制识别为Page("Page_2").WebElement("ArrowRHighlight").Click,回放时应该是找到对象了,只是执行后程序报出这样的错误"Parent.Mainmenu为空或不是对象"
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2