51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5289|回复: 21
打印 上一主题 下一主题

[Robot] SQAWaitForObject的使用??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-8-30 15:56:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
能举个例子吗
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-8-30 16:11:39 | 只看该作者
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里面都有,希望能动手自己找找!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-8-30 16:28:18 | 只看该作者

Re:ilovejolly

谢谢斑竹的热情帮助和提点
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2005-8-30 16:45:11 | 只看该作者

Re:ilovejolly

在请问版主,我想等待一个提示框的弹出,那用context notation这个参数,他的值是该弹出框的caption?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-8-30 17:25:59 | 只看该作者
可以有很多种方法来达到目的,比如取窗口的caption,或者象上面的例子一样取按钮的text,都可以。只要能满足需求,用什么条件并不重要。至于具体写法,楼主自己动手一试便知。在recMethod$中,要注意两点,1是object有这个属性,2是根据你提供的条件,rt可以定位到object!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2005-9-2 17:24:36 | 只看该作者

RE:ilovejolly

Result = SQAFindObject("Type=Window;Caption=XX办公管理信息系统")
if Result=0 then
         Window SetContext, "Caption=摩卡办公管理信息系统",""
         PushButton Click, "Text=取消"
end  if
robot确没有执行这行代码,不知有什么问题?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-9-2 17:53:32 | 只看该作者
昏了头了,误导了大家
sorry

[ Last edited by ilovejolly on 2005-9-2 at 18:06 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-9-2 18:00:38 | 只看该作者
result=0应该是表示pass吧?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-9-2 20:22:15 | 只看该作者
楼主自己动手调试,问题应该不难发现
你看看哪句走不过去,如果有问题,再发贴
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-9-3 11:22:23 | 只看该作者
呵呵,智者千虑必有一失嘛!斑竹是最棒滴!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2005-9-5 15:18:28 | 只看该作者

RE:ilovejolly

斑竹,捕捉不到我想要的object。我想要得是:伴随着打开一个页面,回有一个提示框出现,我想find到该对话框。我试了这条语句:Result = SQAFindObject("Type=Window;Caption=XX办公管理信息系统")没有被执行
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2005-9-5 15:19:17 | 只看该作者

RE:ilovejolly

或是没有找到
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2005-9-5 15:23:21 | 只看该作者

RE:ilovejolly

是没有找到,报1003的错误
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2005-9-5 16:08:19 | 只看该作者
楼主在前面加上   Window SetContext, "CurrentWindow", ""  试试
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2005-9-5 16:34:10 | 只看该作者
我以一个简单的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$的写法!
以上代码调试通过
有什么问题,再来讨论
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2005-9-6 12:57:02 | 只看该作者
ok了,但不知版主为什么用Type=label,Class=#32770又指什么?我用inspector获得是window,caption=Microsoft Internet Explorer
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2005-9-6 13:42:37 | 只看该作者
识别到该object后:
Window SetContext, "Caption=Microsoft Internet Explorer", ""
    PushButton Click, "Text=取消"(这条语句没有被执行,到此会产生错误。)
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2005-9-6 13:49:01 | 只看该作者
class你可以理解成是对不同窗体的分类,这个是c里面的
比如Class=#32770,指dialogbox,Class=IEFrame,指IE

我前面说过了,不管你用什么方法,你写脚本所要做的,就是要让robot可以根据属性找到对象

[ Last edited by ilovejolly on 2005-9-6 at 14:26 ]
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2005-9-6 14:21:53 | 只看该作者

RE:ilovejolly

多谢斑竹,PushButton Click, "Text=取消"我已经换成InputKeys "{TAB}{ENTER},而且已经通过。多谢斑竹不耐其烦的悉心指导。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2005-9-6 14:30:40 | 只看该作者
上面的脚本,都是手工写的?怎么会用text这个属性

我录制下来的如下:
PushButton Click, "Name=btncancel" ,一般录制下来的脚本都是可以顺利回放的
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-21 15:24 , Processed in 0.076289 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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