ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:368.38KB ,
资源ID:71882      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-71882.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(QTP场景恢复 2.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

QTP场景恢复 2.docx

1、QTP场景恢复 2QTP中用于场景恢复的函数发布者:hid5566来源:网络转载 发布日期:2013年11月11日文章评论发表文章 在制作场景恢复的时候可以选择调用函数来解决,下面的函数就是为此写的。因为之前用的场景恢复只报错了,看报告后大概了解了Object、Method、Arguments、retVal等参数的意义,于是写了这个方法,一方面可以截图,另一方面可以在报告中看到哪个对象出问题了。因为我经常是通过公司的自动化平台调用测试案例,一般晚上或凌晨执行,第二天看结果,看结果的时候一般直接从QC打开报告查看,这样方便自己定位问题。 这个方法的作用我简单描述一下:首先是指定一个目录,然后检查

2、是否从QC调用的(因为有时候自己单机执行也用到这个),如果是就记录测试集的名称,如果不是就放到SingleTest目录,然后判断对应的目录是否存在,不存在就创建目录。之后是创建日期时间标签,然后把文件完整路径组合起来,并加上了案例名称,测试机器等等(因为有很多台机器,方便查看是否某台机器出问题了)。之后模拟2次回车按键是防止有异常对话框存在,然后把原来的对象语句自己还原回来,这样如果是某个对象执行什么操作的时候语句出错,就可以在报告里看到了。 当然并不是很完善,比如时间标签的分秒没有加0的判断,Arguments其实是个集合,只不过我只考虑了1个的情况,没考虑多个的情况。 需要用这个的朋友可以

3、自己稍微维护改进一下。使用方法就是自己创建一个场景恢复,然后选择指定文件里的函数,下面的函数最好单独保存为一个文件,因为我之前把他和我的函数库放在一起,发现里面的初始化函数被执行了2次,可能和场景恢复有关,分开后就没问题了。 用于恢复场景控制。 Function RecoveryFunctions(Object, Method, Arguments, retVal) 有错误发生时,对Desktop进行截图并保存 SaveTestError Set objWS = CreateObject(WScript.Shell) strDesktopFolder = T:/TestData/测试组/测试截

4、图/ If QCUtil.IsConnected then If TypeName(QCUtil.CurrentTestSet) Nothing Then set CurrentTSTest = QCUtil.CurrentTestSet strDesktopFolder = strDesktopFolder & CurrentTSTest.Name 如果从QC的测试集运行的,则保存到测试集名字的目录下 Else strDesktopFolder = strDesktopFolder & SingleTest 如果不是从QC运行,保存到SingleTest目录下 End If Else str

5、DesktopFolder = strDesktopFolder & SingleTest End If Set objFSO = CreateObject(Scripting.FileSystemObject) If objFSO.FolderExists(strDesktopFolder) Then Set objFolder = objFSO.GetFolder(strDesktopFolder) Else Set objFolder = objFSO.CreateFolder(strDesktopFolder) End If 确定保存文件的名称 tmpTime=Time() t=Spl

6、it(tmpTime,:) If Len(t(0)2 Then t(0) = 0 & t(0) End If tmpTime=t(0) & t(1) & t(2) tmpDate=CStr(Date() tmpYear = CStr(Year(tmpDate) tmpMonth = CStr(Month(tmpDate) tmpDay = CStr(Day(tmpDate) 如果月或日不足两位,前面补0 If Len(tmpMonth) 2 Then tmpMonth = 0 & tmpMonth End If If Len(tmpDay) 2 Then tmpDay = 0 & tmpDay

7、 End If tpmDate=tmpYear & tmpMonth & tmpDay strTimeStamp = CStr(Year(Now) & CStr(Month(Now) & CStr(Day(Now) _ & _ & CStr(Hour(Now) & CStr(Minute(Now) & CStr(Second(Now) strTimeStamp = tpmDate & _ & tmpTime strFile = strDesktopFolder & /测试案例 & Environment(TestName) & _测试机器 & Environment(LocalHostName

8、) & _测试时间 & strTimeStamp & _Error.png 组合出截图文件的名称 对Desktop截图并保存 Desktop.CaptureBitmap strFile reporter.Filter = 0 Reporter.ReportEvent micFail,案例失败,本处提交失败报告是为了避免下面因为数据问题导致错误报告没有正常提交。 reporter.Filter = 3 set WshShell = CreateObject(WScript.Shell) WshShell.SendKeys ENTER WshShell.SendKeys ENTER strStep

9、Info = Test( & Environment(TestName) & )-Action( & Environment(ActionName) & ) 发生非预期错误,测试退出 strDetails = 错误编号: & CStr(Err.Number) & ,错误描述: & Err.Description On Error Resume Next oClass=Object.GetTOProperty(micclass) oName=Object.GetTOProperty(name) reporter.Filter = 0 Reporter.ReportEvent micFail, s

10、trStepInfo, oClass & ( & Chr(34) & oName & Chr(34) & )。 & Method & & Arguments(0) & 出现错误,错误编号: & retVal Arguments应该是1个或多个参数,此处只考虑了1个的情况,以后需要维护。 reporter.Filter = 3 清除Error并退出Test If err.number0 Then Err.Clear End If Reporter.ReportEvent micFail, strStepInfo, Method & & Arguments(0) & 出现错误,错误编号: & re

11、tVal On Error Goto 0 systemutil.CloseProcessByName(iexplore.exe) ExitTest End FunctionQTP场景恢复的实践和总结自动化测试的优点在于快速、可靠、可重复、可重用、无疲劳,是对繁重的手工测试的一次解放,适用于回归测试。自动化还有一个特点是无人值守,测试人员要做的是通过看REPORTER来判断系统是否存在缺陷。当然,脚本执行的过程中或多或少会出现ERROR,由于无人值守的特点,接下来的脚本就会不能运行,这也是为什么在自动化脚本中弹出框要用POP函数的原因。QTP提供的场景恢复可以解决这个问题,我将自己学习实践的过程

12、与大家分享,有不合适的地方请大家指正。 场景恢复可以看做一种嵌入式机制,是QTP脚本的一个可安装可拆卸零部件,这个零部件的作用就是在机器出现的问题的时候根据我们的指示执行指定的命令, 记录案发现场,等脚本跑完的时候递出报告,供我们分析。我们来看看怎么制造这个零件,我分享一个出错时调用函数截图的场景恢复。我使用的版本是 QTP10.00一、设置1、新建Recovery Scenario首先我们打开Resouces-Recovery Scenario Manager窗口。点击新建场景恢复图标,开始新建一个Recovery Scenario。2、选择触发方式场景恢复机制提供了四种类型的触发事件,分别

13、用来识别:弹出对话框、对象的特殊属性值、运行错误、应用程序失败。我这里选择Testrun error触发方式。Error选择Any error,这样出现任何错误都能触发恢复场景。3、设置恢复时操作,这里我们选择调用函数。点击下一步,选择编辑好的函数,我的恢复操作函数如下,函数的作用是将出错页面截屏打印到REPORTER。Function RecoveryFunction1(Object, Method, Arguments, retVal)Dim datestamp,filename,ResPathResPath = Environment(ResultDir)datestamp = Now(

14、)filename = Environment(TestName)&_&datestamp&.pngfilename = Replace(filename,/,)filename = Replace(filename,:,)filename = ResPath + + &filenameDesktop.CaptureBitmap filename,TrueReporter.ReportEvent micFail,场景恢复,报错截屏,filenameEnd Function点击下一步,将add another recovery operations选项取消。4、设置脚本恢复运行时的操作,这里处理

15、下一个Action或者组件中的下一个迭代。到这里,这个调用函数的场景恢复设置就基本完成了,下一步是给场景恢复取名并保存。可以选择将新建的场景恢复添加到当前的TEST或者将其视为默认设置。5、关联场景恢复文件在filesettingrecovery选项中,可以选择添加或者删除场景设置,就跟resources中国添加关联函数是一个道理。在test setting里可以看到我们新建的场景设置已经与当前TEST关联。二、运行批量运行脚本实验场景恢复的作用。在前面的脚本执行出错时不影响下一个脚本的执行,也即是场景恢复起到了作用,如果没有这个设置,我们批量运行脚本时就会中断在出错的位置,没有起到自动化应有的作用。我们来看一下运行的报告。SKIP ITERATION,我们设置的恢复操作,执行下一个迭代。这个是出错的截屏,这里我将密码设置错误触发了场景恢复。谢谢大家,有不正确的请指正。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2