QTP 异常处理及场景恢复

发表于:2012-1-30 11:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:819longjiayan    来源:51Testing软件测试网采编

分享:

  3、场景恢复函数说明

  场景恢复函数是由几个函数组合而成的,包含了日志函数、系统自动抓图函数、场景恢复调用的业务组件函数等。

  在执行测试程序的某个功能模块前,需要进行应用程序登录。

  场景恢复函数的作用如下。

  * 禁用被测试系统的所有相关进程。

  * 调用登录模块的业务组件。

  * 判断是否登录成功,并尝试连接5次。

  针对场景恢复函数特别说明如下:

  (1)在第一个Action发生一次而关闭的时候,用一个变量记录当前测试的页面。在场景恢复执行登录应用程序成功后,会自动根据发生异常时记录的变量,连接到异常发生时候的页面,并进行下一个Action的操作。

  (2)设置在登录的时候每隔5分钟尝试一次登录,并且总计尝试5次登录。这样设置的好处是,当网络由于某些原因突然连接不上,又无法确定网络连通的时间,在25分钟内尝试了5次后仍然登录不成功,那么久可以认为异常恢复失败而退出整体自动化测试的执行,并且记录日志”可能由于网络问题或其它原因,应用程序当前无法正常登录“。此时就需要人工查找网络断开的原因并恢复自动化测试的整体运行。

  以下函数的代码段为伪代码,思路叫清晰。由于每个项目不同,登录环节也会不同,因此大家可以根据不同项目对以下函数进行修改使用。

‘**********************************************************************************************
‘函数作者:
‘函数功能:当程序发送异常,进行场景恢复
‘输入参数:LinkName:Action发生异常时候,变量记录的模块链接名称
‘返回值:无
‘调用函数:业务组件函数
‘调用函数:业务组件函数
’************************************************************************************
Function SceneResume(LinkText)
For check=0 to 4
‘以IE为例,禁止用所有的IE进程
WQL=”SELECT * FROM Win32_Process WhereName=’IEXPLORE.EXE’”
Set objServices=GetObject(“WinMgmts:”)
Set colobjSevicesSet=objServices.ExecQuery(WQL)
For Each objSWbemObject In colobjServicesSet
obWbemObject.Terminate
Next
‘登录应用程序(业务组件函数)
If  登录成功 Then
Exit For
else
TryID=5
End if
wait(300)
Next
If TryID=5  then
LogPrint  “可能由于网络问题或其它原因,应用程序当前无法正常登录”
End If
End Function

  大家还有什么其它的异常处理方法及场景恢复的方法都在评论的地方回复出来吧,大家一起学习。

22/2<12
重磅发布,2022软件测试行业现状调查报告~

精彩评论

  • 赵见华
    2012-2-08 15:41:45

    mantis 是什么

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号