51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4939|回复: 21
打印 上一主题 下一主题

[原创] 新手紧急求助,关于QTP录制时控件无法识别问题。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-4-28 19:23:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
录制一个类似工资系统,代码如下:
Browser("eHR 用户登录").Page("eHR 用户登录").WebEdit("loginName").Set "hedy"
Browser("eHR 用户登录").Page("eHR 用户登录").WebEdit("loginPwd").SetSecure "4db9003038b3836b252c55ea98b4f0371f78"
Browser("eHR 用户登录").Page("eHR 用户登录").WebButton("登   录").Click
wait(5)
Browser("eHR 用户登录").Page("XX件有限公司").Link("人事管理").Click
wait(10)
Browser("eHR 用户登录").Page("XX件有限公司_2").Link("员工管理").Click
wait(20)
Browser("eHR 用户登录").Page("XX有限公司_2").Frame("jerichotabiframe_submenu19").WebButton("新增").Click
wait(5)
Browser("eHR 用户登录").Window("新增员工 -- 网页对话框").Page("新增员工").WebButton("关闭").Click
Browser("eHR 用户登录").Page("XX有限公司_2").Image("退出").Click
Browser("eHR 用户登录").Dialog("Windows Internet Explorer").WinButton("确定").Click
--------
报错页面


加入调试发现:
Msgbox Browser("eHR 用户登录").Page("XX有限公司_2").Frame("jerichotabiframe_submenu19").exit
这里弹出 false
说找不到Frame("jerichotabiframe_submenu19").但是keyview页面上有的。

系统的主框架如下:点上方菜单,左方出现二级菜单,每个二级下面有三级菜单。


如果不点员工管理页面上的新增按钮,录制就不会出错,现在录制回放后出错,怎么也查不出哪里错了。

关于网上说的几种方法,都试过了。

高手帮看下我这个录制哪里错了呢:?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

22#
发表于 2011-5-4 13:31:50 | 只看该作者
新人求解:
在公司装QTP10.0 **版啊会涉及版权什么的?
大家是在自己电脑装的还是在公司装QTP啊?
回复 支持 反对

使用道具 举报

该用户从未签到

21#
 楼主| 发表于 2011-5-3 16:04:36 | 只看该作者
谢谢各位,问题已经解决了,原来是iframe这个框内部内容太多,没有加载完全的原因。今天再试一下,把点击左菜单员工管理后,页面停止在那里,然后再点录制,点击新增员工按钮,回放成功了。
http://bbs.51testing.com/thread-188338-1-1.html
看的这个贴子,受了点启发。呵呵。可能是跟版本有关,我用的是QTP9.2
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2011-5-3 11:33:41 | 只看该作者
我想如果真识别不到的话,能不能通过手动添加呢?LZ试试?
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2011-5-3 11:29:02 | 只看该作者
LZ,我个人感觉是不是前面已经出错了,但是报错却在这里,建议射一步一步执行看看,或者检查一下前面的脚本呢?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2017-2-4 09:49
  • 签到天数: 145 天

    连续签到: 1 天

    [LV.7]测试师长

    18#
    发表于 2011-5-3 10:56:58 | 只看该作者
    你好LZ,Frame没识别出来,我估计也许是编程控件的问题,是不是你录制“查询”,“编辑”,“查看”按钮也识别成jerichotabiframe_submenu19?具体怎么解决,我现在还说不清楚,安装插件或是怎么样的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2011-5-2 21:30:01 | 只看该作者
    自己UP一下,高手帮看一下啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-28 13:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    16#
    发表于 2011-5-2 08:07:06 | 只看该作者
    luguo.........
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2011-5-1 22:51:20 | 只看该作者
    回复 13# wugecat

    对象库object repository 截图中关于jerichotabiframe_submenu19 ,这个的属性列表中只有关于name的值,没有ID的。点上面那个绿色的+,是不是可以添加ID的值进来啊,这个+里面的操作是什么意思呢?

    谢谢帮忙做答!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2011-5-1 22:46:55 | 只看该作者
    本帖最后由 jinwei6078 于 2011-5-1 23:19 编辑

    回复 13# wugecat

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-4-29 13:33:47 | 只看该作者
    截个图,把那个frame的对象库那些用来识别的属性贴上来看看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-4-29 11:35:58 | 只看该作者
    仔细查看一下对象库中和脚本中的层级关系对不对
    就是找不到对象(对象库和脚本中不一致导致的),或者在之前已经弹出了多余的界面,建议通过打断点的方式一步步查找,有可能在前面已经报错,结合业务考虑
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2011-4-29 11:35:02 | 只看该作者
    我录制其它如论坛,网页都没有问题,可能是我们系统框架不同于别的系统的原因。架构是.net 语言的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2011-4-29 11:14:32 | 只看该作者
    怎么没有回答啊,紧急求助。这个问题卡在这里几天了。高手提示一下啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2011-4-29 10:48:56 | 只看该作者
    回复 6# wugecat

    在吗?
    原因是用来识别frame的属性,是动态变化的,导致了下一次识别不到,你可以到对象库中查看一下是哪一个属性变化了,比如 html id是变化的你可以用正则表达式将动态的部分替换如jerichotabiframe_submenu19替换成
    jerichotabiframe_submenu.*就可以了,还有一种方法是选择不会变的属性识别
    -------我查看了,这个Frame的ID,name都是jerichotabiframe_submenu19这个名称。录了几次都没有变化的。我问了开发人员,这个名称的确是动态生成的。但是录制过程中是不会变化的,我要怎么做呢,能否提示一下?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-4-29 10:33:15 | 只看该作者
    回复 5# shanfeng1419

    这个FRAME 是识别不出来。
    不知为什么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2011-4-29 10:32:31 | 只看该作者
    回复 4# 62369432

    已录制过好几次了,都是这个名称。没有变化
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2011-4-29 09:45:06 | 只看该作者
    原因是用来识别frame的属性,是动态变化的,导致了下一次识别不到,你可以到对象库中查看一下是哪一个属性变化了,比如 html id是变化的你可以用正则表达式将动态的部分替换如jerichotabiframe_submenu19替换成
    jerichotabiframe_submenu.*就可以了,还有一种方法是选择不会变的属性识别
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-2-4 09:49
  • 签到天数: 145 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2011-4-29 09:16:28 | 只看该作者
    我觉得是不是frame控件没识别出来?其他的控件如link,webedit等都能识别对,但是Frame("jerichotabiframe_submenu19")没有识别出来,可能跟编程语言,技术有关?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2011-4-28 19:55:44 | 只看该作者
    可能Frame("jerichotabiframe_submenu19")是动态的. 下次打开不一定是 19 所以系统可能找不到对象
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

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

    GMT+8, 2024-11-11 18:33 , Processed in 0.090094 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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