标题: SQAWaitForObject的使用?? [打印本页] 作者: guoning1973 时间: 2005-8-30 15:56 标题: SQAWaitForObject的使用?? 能举个例子吗作者: ilovejolly 时间: 2005-8-30 16:11
This example waits up to two minutes for a particular push button to appear.
Sub Main
Dim Result As Integer
Window SetContext, "Caption=MyApp", ""
MenuSelect "File->Open..."
Window SetContext, "Caption=Open", ""
'The OK button may take a long time to appear. We can use
' SQAWaitForObject to synchronize our script without
' increasing the default wait period of all other actions
Result = SQAWaitForObject("Type=PushButton;Text=OK", 120000)
If Result = sqaSuccess Then
... ' add the rest of the actions/tests here
End If
End Sub
这些函数的例子,help里面都有,希望能动手自己找找!作者: guoning1973 时间: 2005-8-30 16:28 标题: Re:ilovejolly 谢谢斑竹的热情帮助和提点作者: guoning1973 时间: 2005-8-30 16:45 标题: Re:ilovejolly 在请问版主,我想等待一个提示框的弹出,那用context notation这个参数,他的值是该弹出框的caption?作者: ilovejolly 时间: 2005-8-30 17:25
可以有很多种方法来达到目的,比如取窗口的caption,或者象上面的例子一样取按钮的text,都可以。只要能满足需求,用什么条件并不重要。至于具体写法,楼主自己动手一试便知。在recMethod$中,要注意两点,1是object有这个属性,2是根据你提供的条件,rt可以定位到object!作者: guoning1973 时间: 2005-9-2 17:24 标题: RE:ilovejolly Result = SQAFindObject("Type=Window;Caption=XX办公管理信息系统")
if Result=0 then
Window SetContext, "Caption=摩卡办公管理信息系统",""
PushButton Click, "Text=取消"
end if
robot确没有执行这行代码,不知有什么问题?作者: ilovejolly 时间: 2005-9-2 17:53
昏了头了,误导了大家
sorry
[ Last edited by ilovejolly on 2005-9-2 at 18:06 ]作者: gabriel 时间: 2005-9-2 18:00
result=0应该是表示pass吧?作者: ilovejolly 时间: 2005-9-2 20:22
楼主自己动手调试,问题应该不难发现
你看看哪句走不过去,如果有问题,再发贴作者: gabriel 时间: 2005-9-3 11:22
呵呵,智者千虑必有一失嘛!斑竹是最棒滴!!!!作者: guoning1973 时间: 2005-9-5 15:18 标题: RE:ilovejolly 斑竹,捕捉不到我想要的object。我想要得是:伴随着打开一个页面,回有一个提示框出现,我想find到该对话框。我试了这条语句:Result = SQAFindObject("Type=Window;Caption=XX办公管理信息系统")没有被执行作者: guoning1973 时间: 2005-9-5 15:19 标题: RE:ilovejolly 或是没有找到作者: guoning1973 时间: 2005-9-5 15:23 标题: RE:ilovejolly 是没有找到,报1003的错误作者: gabriel 时间: 2005-9-5 16:08
楼主在前面加上 Window SetContext, "CurrentWindow", "" 试试作者: ilovejolly 时间: 2005-9-5 16:34
我以一个简单的web页面做例子,希望对你有帮助:
1 insert at cursor,在弹出的窗口点一下,得到如下代码:
Window SetContext, "Caption=Microsoft Internet Explorer;Class=#32770", ""
注意这个窗口上可能有多个对象,我点的是caption。
2 result = sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")
注意我的recMethod$的写法!
以上代码调试通过
有什么问题,再来讨论作者: guoning1973 时间: 2005-9-6 12:57
ok了,但不知版主为什么用Type=label,Class=#32770又指什么?我用inspector获得是window,caption=Microsoft Internet Explorer作者: guoning1973 时间: 2005-9-6 13:42
识别到该object后:
Window SetContext, "Caption=Microsoft Internet Explorer", ""
PushButton Click, "Text=取消"(这条语句没有被执行,到此会产生错误。)作者: ilovejolly 时间: 2005-9-6 13:49
class你可以理解成是对不同窗体的分类,这个是c里面的
比如Class=#32770,指dialogbox,Class=IEFrame,指IE
我前面说过了,不管你用什么方法,你写脚本所要做的,就是要让robot可以根据属性找到对象
[ Last edited by ilovejolly on 2005-9-6 at 14:26 ]作者: guoning1973 时间: 2005-9-6 14:21 标题: RE:ilovejolly 多谢斑竹,PushButton Click, "Text=取消"我已经换成InputKeys "{TAB}{ENTER},而且已经通过。多谢斑竹不耐其烦的悉心指导。作者: ilovejolly 时间: 2005-9-6 14:30
上面的脚本,都是手工写的?怎么会用text这个属性
我录制下来的如下:
PushButton Click, "Name=btncancel" ,一般录制下来的脚本都是可以顺利回放的作者: taoyi_cheng 时间: 2005-11-9 11:47
sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")
可以识别要识别的提示框,可是这句话同样可以把一个新的页面窗口:"type=Window;Caption=SC社区 - 北京×××信息技术有限公司 - Microsoft Internet Explorer"识别出来。这怎么办呢?作者: ilovejolly 时间: 2005-11-9 11:53
你是怎么确定sqafindobject("Type=label;Caption=Microsoft Internet Explorer;Class=#32770")可以识别“type=Window;Caption=SC社区 - 北京×××信息技术有限公司 - Microsoft Internet Explorer”的,这两个很不一样