|
本帖最后由 situjm 于 2011-4-13 11:50 编辑
被测程序中,TAB选项卡有两个标签,标签A下有"OK"和"CANCL"两个BUTTON,另一个标签B下,有一个"CheckBox"。默认界面在标签A下。如下图:
标签A:
标签B:
对象都是可识别的,也存在对象库里了,但是点击标签A下的"OK"和"CANLE"两个BUTTON的时候,却提示"Object not visible"(激活和重设对象都试过了)
语句如下:
Dialog("Dialog").WinButton("OK").Click
及
Dialog("Dialog").WinButton("text:=OK").Click
而切换到选项卡标签B下,把"CheckBox" SET "ON",却能正常执行。
我用GETRO读该按钮的VISIBLE属性是可见的,用CHECKPOINT检查,该按钮也是存在的。运行result中,也明显能看到他CLICK动作是DONE了的(实际程序上没点击)。但是下面却紧跟一个警告,然后就一个Object not visible的错误。提示信息:
y = 93
x = 141
window id = 1
Visible = -1
Text = OK
simclass = Button
Native Class = Button
miccommentproperty =
hwnd = 68460
问题出在哪里?按钮应该是唯一的。程序设计这两个按钮点击后的效果,是该按钮要消失,执行失败跟这个有关吗?该怎么改?
另外的问题,如果对象库里相同描述的对象不止一个,用什么方法能信息论快捷的找到对象的唯一标识?对象那么多属性,难道要一个个的去找?(请说详细一点,本人菜鸟)
刚开始怕按钮是被其它对象挡着了,但是一想,另一标签下的CheckBox没事,应该不是这个原因吧。然后怀疑是对象运行中属性发生了变化,于是分别用GETTO和GETRO读了些属性出来(该程序是把很多控件集中在一个CONTAINER内,用SPY只点到外面的框,点不了里面的控件。)
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("text") OK
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("text") OK
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("window id") 1
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("window id") 1
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("nativeclass") button
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("nativeclass") button
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("simclass") button
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("simclass") 空
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("miccommentproperty") 空
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("miccommentproperty") 空
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("x") 141
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("x") 141
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("y") 93
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("y") 93
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("visible") true
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("visible") true
msgbox Dialog("Dialog").WinButton("OK").GetTOProperty("hwnd") 68460
msgbox Dialog("Dialog").WinButton("OK").GetROProperty("hwnd") 68460 |
|