51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2510|回复: 8
打印 上一主题 下一主题

[Robot] 问个问题,急

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-8-31 17:01:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Window CloseWin, "", ""这个命令如果出错,On Error能否捕获到,如果不能捕获到,怎么才能捕获到这个错误呢???
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-9-1 08:39:57 | 只看该作者
on error 和catch expection差不多的意思,是对异常的处理。比如对一个文件的操作,脚本可以顺利执行的前提,是要这个文件存在。如果这个文件不存在,写一个on error goto,就可以自己写log或者跳一个提示出来,来表示这里有异常。
如果自己不处理,robot也会自己去执行后面的脚本。没有成功执行的命令log里面自己就会纪录!

[ Last edited by ilovejolly on 2005-9-1 at 08:53 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-9-1 09:51:53 | 只看该作者
但我是想让log里不要纪录这样的错误~,可以吗?
还有我试过on error了,没反映~!怎么处理啊?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-9-1 10:07:01 | 只看该作者
1 一个命令失败,就等于脚本失败,如果连这样最基本的信息都不想记录,那么就关闭掉log。
2 楼主的on error是怎么用的?是否清楚这句话是干什么的?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2005-9-1 13:27:38 | 只看该作者
有些ie关闭,可能会有个提示或登陆对话框,虽然会得到有ie窗口,却关不掉,因此,window winclose会包错
Function CloseIEWindows() As Integer

  On Error GoTo ErrorHandler
  
  static TIMELIMIT as Integer
  dim StartTime,EndTime as Long
  
  TIMELIMIT=5
  StartTime=timer
  
  do while SQAFindObject("\;Type=Window;Caption={*Microsoft Internet Explorer*}") = sqaSuccess

    Window CloseWin, "Caption={*Microsoft Internet Explorer*}",""  

    EndTime=timer
   
    if(EndTime<StartTime) then
      StartTime=0
    end if
    if(EndTime-StartTime>=TIMELIMIT) then
      exit do
    end if
      
  loop

   CloseIEWindows= 1

Exit Function


ErrorHandler:
   sqaLogMessage sqaWarning, Error$, ""

   
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-9-1 13:47:54 | 只看该作者
On Error GoTo是出错处理,表示程序中出现错误就去执行相应的代码。错误包括各种可能的错误,比如文件打不开等等。因此它是针对你的程序内部的错误来的。像你说的这个应该是IE自己的出错问题了,跟你robot里写的脚本没有关系的。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2005-9-1 13:51:36 | 只看该作者
象你这么说的,我就是无法catch到window winclose的错误了吗?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-9-1 14:01:48 | 只看该作者
有提示的,用判断去解决。可以从窗口存在,窗口标题,label的内容去判断!

我看不出来这个脚本实际上有什么作用,楼主零碎的问了些问题,然后拼了一个脚本。如果只是想研究思路,没有必要在细节方面纠缠。真正的脚本,哪些是需要你改动的地方,你可以在工作中留意下!

还有有些问题,是可以通过不同途径解决的,所以开始不妨就直接把你的需求说出来,而不要首先假定一个方向。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-9-1 14:53:40 | 只看该作者
如果在自动化测试过程中,出现某些错误是非预期的,比如出现了IE或者操作系统的警告框之类的。因为这些都不是自己的脚本造成的,所以用on error是无法捕获到的。那么可以在脚本中的一些可能造成这些情况的位置加SQAWaitObject之类的,希望能够获取某步操作之后所应该出现的页面或者object之类的。
如果没有,而是出现了一些警告框什么的,如果能够绕过它,比如取消了警告之后可以继续往下走,那么可以在log中记录一个警告之后信息,调用相应的操作来取消警告框,接着继续测试。
如果错误很严重,甚至页面直接fail掉,显示一大堆错误信息什么的,那测试也就没法进行下去了。在log里记录后,可以调用windows API,关闭所有窗口,回到测试的初始状态,再继续测其它不相关的模块什么的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 11:52 , Processed in 0.067490 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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