51Testing软件测试论坛

标题: 请问:在GUI中已经存在,但在脚本运行时却无法识别的对象,该如何处理? [打印本页]

作者: queen    时间: 2006-9-5 15:45
标题: 请问:在GUI中已经存在,但在脚本运行时却无法识别的对象,该如何处理?
logical name:Edit_3
{
class: edit,
displayed: 0,
MSW_id: 10,
location: 3
}

运行到edit_set_insert_pos ("Edit_3_2", 0, 0);时,报错Object: "Edit_3_2"Error: Object is not currently displayed.
我删除了 MSW_id: 10这一行, location: X,X从0开始一个一个试过去,都没有找到这个Edit框在哪儿?查找了应用程序的源代码也没有找到名称叫Edit_3的编辑框。

这种情况,该如何处理? MSW_id: 10这个语句是什么意思?我是依葫芦画瓢sdlkfj1

[ 本帖最后由 queen 于 2006-9-5 16:09 编辑 ]
作者: 小李美刀    时间: 2006-9-5 18:31
GUI里保存的并不仅仅是你这次录制的信息, 也可能有其他object 的信息,

edit_set_insert_pos ("Edit_3_2", 0, 0);你把Edit_3_2的信息添加到GUI里就可以了
作者: queen    时间: 2006-9-6 11:36
问题是,我不知道"Edit_3_2" 是逻辑和物理名称是什么,在应用程序中learn不到这个GUI,就不知道要添加什么到GUI里面了
作者: 生如火花    时间: 2006-9-6 14:05
你原来的GUI MAP中的对象是Edit_3,Edit_3是他的逻辑名,脚本根据这个找到GUI MAP并确定对象
但你软件变化后,比如关闭后重起,某些属性类似msw_id发生变化,Edit_3就变成了Edit_3_2,但你的MAP里没有Edit_3_2,所以脚本当然找不到了,把msw_id换成location后,在脚本中也得把Edit_3_2换成Edit_3
作者: kali    时间: 2006-9-7 16:03
不明白楼上的说到:把msw_id换成location后,在脚本中也得把Edit_3_2换成Edit_3
是什么意思?我把MSW_id: 1052 的 1052 改成逻辑名:RICHEDIT ,{
class: edit,
MSW_id: RICHEDIT
}
是不对的。不知道我是不是理解错了你的意思?
作者: kali    时间: 2006-9-7 16:08
标题: 紧急求助```在线等待中
最近很奇怪就我们公司的系统用WR录制是出现这个问题,在没有关闭录制的窗口是可以回放,如果把那窗口关了再重新打开回放,就没法识别了,重新LEARN一遍就发现MSW_id:变掉了。。 是不是因为系统用的是DEPHI开发的软件,没有装插件的原因? 我录制别的都不会出现这样的问题。。
作者: 今天有雾    时间: 2006-9-8 15:15
做虚拟对象也不行吗?
作者: flower115    时间: 2006-9-8 17:06
请问版主把"msw_id换成location" 是什么意思,每次执行时都是改变的msw_id




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2