问个问题,急
Window CloseWin, "", ""这个命令如果出错,On Error能否捕获到,如果不能捕获到,怎么才能捕获到这个错误呢??? on error 和catch expection差不多的意思,是对异常的处理。比如对一个文件的操作,脚本可以顺利执行的前提,是要这个文件存在。如果这个文件不存在,写一个on error goto,就可以自己写log或者跳一个提示出来,来表示这里有异常。如果自己不处理,robot也会自己去执行后面的脚本。没有成功执行的命令log里面自己就会纪录!
[ Last edited by ilovejolly on 2005-9-1 at 08:53 ] 但我是想让log里不要纪录这样的错误~,可以吗?
还有我试过on error了,没反映~!怎么处理啊? 1 一个命令失败,就等于脚本失败,如果连这样最基本的信息都不想记录,那么就关闭掉log。
2 楼主的on error是怎么用的?是否清楚这句话是干什么的? 有些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 On Error GoTo是出错处理,表示程序中出现错误就去执行相应的代码。错误包括各种可能的错误,比如文件打不开等等。因此它是针对你的程序内部的错误来的。像你说的这个应该是IE自己的出错问题了,跟你robot里写的脚本没有关系的。 象你这么说的,我就是无法catch到window winclose的错误了吗? 有提示的,用判断去解决。可以从窗口存在,窗口标题,label的内容去判断!
我看不出来这个脚本实际上有什么作用,楼主零碎的问了些问题,然后拼了一个脚本。如果只是想研究思路,没有必要在细节方面纠缠。真正的脚本,哪些是需要你改动的地方,你可以在工作中留意下!
还有有些问题,是可以通过不同途径解决的,所以开始不妨就直接把你的需求说出来,而不要首先假定一个方向。 如果在自动化测试过程中,出现某些错误是非预期的,比如出现了IE或者操作系统的警告框之类的。因为这些都不是自己的脚本造成的,所以用on error是无法捕获到的。那么可以在脚本中的一些可能造成这些情况的位置加SQAWaitObject之类的,希望能够获取某步操作之后所应该出现的页面或者object之类的。
如果没有,而是出现了一些警告框什么的,如果能够绕过它,比如取消了警告之后可以继续往下走,那么可以在log中记录一个警告之后信息,调用相应的操作来取消警告框,接着继续测试。
如果错误很严重,甚至页面直接fail掉,显示一大堆错误信息什么的,那测试也就没法进行下去了。在log里记录后,可以调用windows API,关闭所有窗口,回到测试的初始状态,再继续测其它不相关的模块什么的。
页:
[1]