QTP错误处理机制概述 / QuickTest Professional Error Handling
关键词: QuickTest Professional QTP Exception Error Handling 错误处理 On Error Recovery Scenarios本文针对QuickTest Professional(后面将简称QuickTest 或QTP)提供的运行时错误处理机制进行详细描述。内容包括各种错误处理方式的功能的介绍,各种机制的作用范围的分析,以及错误处理机制同时作用时的优先级别的分析。本文可以为QTP用户采用何种错误处理机制对测试脚本的运行时错误进行处理提供参考。
注1: 本文只对错误机制进行描述,并不涉及对各种错误机制适应性的分析。
注2: 所有功能介绍及实例基于QuickTest Profession 9.2版本,其他版本未经验证。
版权所有,转载请注明出处。
目录
1. 概述 3
2. 三种错误处理方式介绍 3
2.1 全局错误响应 3
2.2 VBScript的On Error错误处理方式 4
2.2.1 On Error Resume Next 4
2.2.2 On Error GoTo 0 4
2.2.3 Err对象 4
2.3 恢复场景Recovery Scenarios 4
3. 三种错误处理方式的作用域 8
3.1 全局错误响应 9
3.1.1 对Action中直接定义的函数: 9
3.1.2 对用ExecuteFile引入的函数: 9
3.1.3 对于Function Library 中定义的函数 9
3.1.4 对于Action的嵌套调用 11
3.2 VBScript的On Error错误处理方式 11
3.2.1 对Action中直接定义的函数: 11
3.2.2 对用ExecuteFile引入的函数: 12
3.2.3 对于Function Library 中定义的函数 12
3.2.4 对于Action的嵌套调用 13
3.3 错误恢复场景 Recovery Scenarios 13
4. 三种错误处理方式的优先级别 13
知识能力所限,错误疏漏之处在所难免,欢迎大家拍砖。 大致看了下,非常好,深入浅出~
多谢LZ~ 看来非常详细,学习一下. 下来学习,谢谢楼主 很好的文章,分析研究得很深、很全面!
想起以前设计QTP框架时,也需要考虑脚本错误的处理方法:
[*]当时发现Action之间的错误信息不能传递,感觉QTP的Action有很多局限。加上Action调用也不方便,在很多方面相比函数都差了很多,所以决定抛弃了Action,改用函数来作为测试脚本的组织方式。
[*]QTP框架设计里,各个测试用例的测试脚本都写成Case函数放在函数库里,然后由一个统一的主控模块来调用执行各个Case函数。
[*]Case函数里每个步骤都可能发生错误,Case函数不可能对每个步骤进行错误检测和处理,只有少数关键错误Case函数自己会处理,其它的错误Case函数就只能中止执行,将错误返回给主控模块了。
[*]主控模块是用ExecuteFile方式加载的Case函数库,然后用On Error Resume Next/On Error goto 0的方式调用Case函数的,这样保证Case函数里未处理的错误都能原样返回到主控模块。
[*]主控模块会检测和记录Case函数返回的错误信息,然后继续调用执行下一个Case函数,这样才能保证上一个Case的错误不会影响后续Case的执行。
以前也有一个帖子讨论了QTP的错误处理机制,不过没有LZ这个文章里讲的那么全面详细。
http://bbs.51testing.com/viewthread.php?tid=90373 学习一下,感谢楼主。 3Q! 好人哪!
不顶对不起社会!:lol 原帖由 yabest 于 2008-1-9 02:47 发表 http://bbs.51testing.com/images/common/back.gif
很好的文章,分析研究得很深、很全面!
想起以前设计QTP框架时,也需要考虑脚本错误的处理方法:
[*]当时发现Action之间的错误信息不能传递,感觉QTP的Action有很多局限。加上Action调用也不方便,在很多方面相 ...
谢谢专家支持。:)
之前怎么没注意到那个帖子呢,那样就不用花那么多时间去反复实验和比较了。。。 原帖由 lantianwei 于 2008-1-9 10:00 发表 http://bbs.51testing.com/images/common/back.gif
好人哪!
不顶对不起社会!:lol
多谢精神支持~~:lol
下了很多,支持的很少啊:(
[ 本帖最后由 gy21st 于 2008-1-10 11:08 编辑 ] 顶起!学习了~~向楼主学习~ 支持LZ,下载了。 正在考虑这方面问题。
多谢! :victory: 顶楼主的共享精神,谢谢 正在考虑这方面的东西,太感谢了。不过想理清楚还得具体操作 谢谢! 这个确实比较不懂。谢谢:victory: 这是好东西,学习了 写的非常棒,楼主好厉害 下了要说声谢谢!