51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4444|回复: 28
打印 上一主题 下一主题

[原创] 代码中使用SPY得出的OBJECT属性,报错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-2-27 10:00:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
见下图,SPY获取列表的表头“时间段编号”的属性,然后加入脚本,执行时说“OBJECT WAS NOT FOUND”
为什么会这样呢?

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2009-2-27 10:19:42 | 只看该作者
你用的不是描述性编程,所以那段脚本运行的时候要求在测试对象地图中必须有这个测试对象存在。你的描述里只说用SPY识别然后加入脚本,不知道你是不是在测试对象库中添加了测试对象了呢?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-2-27 10:21:03 | 只看该作者
没错,你是察看到了属性,但是你应该是没有录制,直接使用的,如果你想这样使用的话,要录制下,将其加入对象库。。或者描述性编程。
msgbox Browser("系统登陆入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebTable("html tag:=DIV","innerhtml:=时间段编号").exist

如果你转换到关键字视图的话,你会发现webtable 是个问号,意思就是在对象库中不存在这样的对象,你点击那个问号,选择"object from ..."这个选项,然后再用弹出界面里面的手型spy选择,就将你想要得对象加入对象库了,这个时候,可以直接用
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-2-27 11:23:59 | 只看该作者
使用SPY插入对象库,查看脚本,也是显示以下的内容:

Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebElement("时间段编号").Click

还是没有WebTable的,,,,

用这个描述性编程:
msgbox Browser("系统登陆入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebTable("html tag:=DIV","innerhtml:=时间段编号").exist

打印出false

还是不知道怎么解决才好
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-2-27 11:41:42 | 只看该作者
我就晕死,你脚本中的顺序和对象库中的顺序完全不一样,你脚本中第一个父对象是"Browser("系统登录入口"),但是在你的测试对象库中根本没有这样的一个对象。你不妨改成这样试一下:
msgbox Browser("顺丰速运客户核心业务系统").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebTable("html tag:=DIV","innerhtml:=时间段编号").exist
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-2-27 11:49:43 | 只看该作者
注意一下我上面说的哦:


用这个描述性编程:
msgbox Browser("系统登陆入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebTable("html tag:=DIV","innerhtml:=时间段编号").exist

打印出false
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-2-27 11:52:33 | 只看该作者
脚本中的顺序和对象库中的顺序完全不一样??

从哪里看出来的呢?

没这个对象啊 : Browser("顺丰速运客户核心业务系统")

N多个问号。。。。???????
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-2-27 11:56:25 | 只看该作者
测试对象库中有Browser("系统登陆入口")这个对象吗?
我记得QTP里就算用描述性编程,也要保证脚本中对象的层次结构和测试对象库中的结构必须一致吧?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-2-27 11:59:01 | 只看该作者
楼主你先录制一遍,把录制的这个操作的脚本贴上来
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-2-27 11:59:38 | 只看该作者
原帖由 dreamever 于 2009-2-27 11:56 发表
测试对象库中有Browser("系统登陆入口")这个对象吗?
我记得QTP里就算用描述性编程,也要保证脚本中对象的层次结构和测试对象库中的结构必须一致吧?

每层都是描述性,就无所谓了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-2-27 12:02:03 | 只看该作者
原帖由 danmy 于 2009-2-27 11:59 发表

每层都是描述性,就无所谓了

楼主的脚本中只有子对象是描述性编程,父对象不是,所以我才觉得问题可能出在父对象上。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-2-27 12:18:52 | 只看该作者
楼主,你看下你spy取对象时候的截图嘛,Browser("顺丰速运客户核心业务系统")是这个对象,而不是Browser("系统登陆入口")这个,要不就是全部用描述性编程,要不就是你用spy加将那个webtable 加进对象库
Browser("title:=xxx","hwnd:=xxx").Page(描述).webtable(xxxx).exist
注意,如果父对象是用描述性编程的话,子对象都要用描述性编程。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2009-2-27 13:29:17 | 只看该作者
Browser("系统登录入口").Page("系统登录入口").WebEdit("username").Set "guangzhouqubu"
Browser("系统登录入口").Page("系统登录入口").WebEdit("password").SetSecure "49a8589c18dbddff"
Browser("系统登录入口").Page("系统登录入口").WebEdit("password").Submit
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("topFrame2").WebElement("space").Click
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("ltbfrm").WebElement("ltb_list_i").Click
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").Image("ft_txt").FireEvent "onmouseover"
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").Image("ft_txt").Click
Browser("查看时间段及分段").Page("查看时间段及分段").Link("关闭").Click
Browser("系统登录入口").Page("顺丰速运客户核心业务系统").Frame("topFrame").Link("注销").Click
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2009-2-27 13:34:00 | 只看该作者
keyword view的截图

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2009-2-27 13:37:08 | 只看该作者
系统界面,呃,,,鉴于所谓的商业保密,屏蔽了多余的菜单功能,汗~~~~

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2009-2-27 13:40:05 | 只看该作者
1)keyword view中选择ftmfrm,下拉框选择object from repository,
得出的界面

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2009-2-27 13:42:50 | 只看该作者
使用SPY工具捕获对象

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2009-2-27 13:43:39 | 只看该作者
捕获对象后的keyword view界面

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2009-2-27 13:44:05 | 只看该作者
这个是插入对象后,脚本显示的语句

Browser("顺丰速运客户核心业务系统").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebElement("时间段编号").Click
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2009-2-27 13:46:00 | 只看该作者
疑问:
1)为什么插入对象后,browser("")改变了?
2)为什么SPY明明捕获到有webtable,但脚本中写
Browser("顺丰速运客户核心业务系统").Page("顺丰速运客户核心业务系统").Frame("rtmfrm").WebTable("时间段编号").WebElement("时间段编号").exist
却报找不到对象?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 19:17 , Processed in 0.080829 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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