51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3433|回复: 8
打印 上一主题 下一主题

[原创] qtp下拉菜单识别问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-9-15 16:07:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
菜单形式: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

想知道是不是子菜单的上级菜单未能识别所致呢?有人能帮解答吗,谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-9-16 09:40:36 | 只看该作者

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

使用道具 举报

该用户从未签到

3#
发表于 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
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-9-19 09:50:04 | 只看该作者
谢谢鹭岛

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

使用道具 举报

  • TA的每日心情
    开心
    2015-10-19 13:26
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    5#
    发表于 2010-9-19 20:12:51 | 只看该作者
    回复 4# nndlm


        不行的话,用sendkey发送方向键有没有用呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-9-20 10:46:45 | 只看该作者
    程序菜单不支持键盘操作,似乎找不到办法了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 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菜单,不知道大家有没有遇到过这种菜单,一般是怎么处理的呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-9-21 11:19:52 | 只看该作者
    谢谢鹭岛

    按你所写,BB的上层page为AA的page,但我这块,下层菜单的page与上层菜单的page并不相同,是咋 ...
    nndlm 发表于 2010-9-19 09:50


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

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 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 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 07:33 , Processed in 0.075954 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表