Robot录制回放失败解决方法一例
打开rational robot GUI录制程序后,对桌面上的时钟进行设置,将时间改变(提前一天:7号改为8号)。然后回放时出错,对时钟的操作没反应!相关代码如下:
Window SetContext, "Class=Shell_TrayWnd", ""
GenericObject DblClick, "Text=11:04 AM", "Coords=23,10"
Window SetContext, "Caption=Date and Time Properties", ""
Calendar Click, "Text=Friday, August 08, 2003", "Coords=98,46"
PushButton Click, "Text=OK"
原因是识别方法有问题:
GenericObject DblClick, "Text=11:04 AM", "Coords=23,10"
Calendar Click, "Text=Friday, August 08, 2003", "Coords=98,46"
对象都是根据Text属性识别的,Text是变化的所以导致回放失败。
解决方法:改变识别方法。Robot--Tools--GUI Record Options---Object Recognition Order将Object Type中的Generic和Calendar的 Recognition methed order中的Index分别移动到Text前面。这样录制的脚本为:
Window SetContext, "Class=Shell_TrayWnd", ""
GenericObject DblClick, "ObjectIndex=2", "Coords=15,8"
Window SetContext, "Caption=日期/时间 属性", ""
Calendar Click, "ObjectIndex=1", "Coords=124,41"
PushButton Click, "Text=确定" to:海龙
以前由于是用网页中的Table制作的日历,使用Text只能录制不能回放,最多只能提取一个对象名称,用这种方法解决我上述的问题,那么是不是所有相雷似的对象都可以用这种办法解决?
多谢指教! 是个好方法。 是个好方法。 还是不行,我自己有重新录制了一遍,回放总不成功 那如果要做到将当前系统时间改为提前一天,要随时成功回放,该怎么处理?
ObjectIndex=2
实质应该是其某种方式的位置吧?
如何参数化,使得其在任何时候回放都不会出错?比如今天的脚本,拿到明天也成功回放? 可以直接使用SQA Basic提供的函数修改系统时间啊。如果你系统的Locale是中文的,可以用
Date = "2005-11-04"
Time = "12:00:00 PM"
就好了。 使用ObjectIndex=N也不见得能完全解决问题,因为对有些动态网页而言,有些时候随着操作的不同,在页面上的Object的Index是变化的。
TO :海龙
怎么不照啊不错
挺好的. 自己解决一个问题的心得 恩,不错我自己在english windows xp重新录制了一遍,回放不成功 頂一下,支持! 版主对robot了解挺多啊,帮顶了,呵呵:victory: 谢谢。。 这个问题从来没有遇到过. 对于刚入门的我来说, 太深奥了, 不知道前面还有多少路要走.:time: .... 受教
多谢楼主!:D 哎,就我没看明白
页:
[1]