gy21st 2008-1-8 18:33
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版本,其他版本未经验证。
[color=Red]版权所有,转载请注明出处。[/color]
目录
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
[size=4]知识能力所限,错误疏漏之处在所难免,欢迎大家拍砖。[/size]
heqingbluesky 2008-1-8 20:54
看来非常详细,学习一下.
yabest 2008-1-9 02:47
很好的文章,分析研究得很深、很全面!
想起以前设计QTP框架时,也需要考虑脚本错误的处理方法:
[list][*]当时发现Action之间的错误信息不能传递,感觉QTP的Action有很多局限。加上Action调用也不方便,在很多方面相比函数都差了很多,所以决定抛弃了Action,改用函数来作为测试脚本的组织方式。[/list]
[list][*]QTP框架设计里,各个测试用例的测试脚本都写成Case函数放在函数库里,然后由一个统一的主控模块来调用执行各个Case函数。[/list]
[list][*]Case函数里每个步骤都可能发生错误,Case函数不可能对每个步骤进行错误检测和处理,只有少数关键错误Case函数自己会处理,其它的错误Case函数就只能中止执行,将错误返回给主控模块了。[/list]
[list][*]主控模块是用ExecuteFile方式加载的Case函数库,然后用On Error Resume Next/On Error goto 0的方式调用Case函数的,这样保证Case函数里未处理的错误都能原样返回到主控模块。[/list]
[list][*]主控模块会检测和记录Case函数返回的错误信息,然后继续调用执行下一个Case函数,这样才能保证上一个Case的错误不会影响后续Case的执行。[/list]
以前也有一个帖子讨论了QTP的错误处理机制,不过没有LZ这个文章里讲的那么全面详细。
[url=http://bbs.51testing.com/viewthread.php?tid=90373]http://bbs.51testing.com/viewthread.php?tid=90373[/url]
lilysun0411 2008-1-9 09:56
3Q!
lantianwei 2008-1-9 10:00
好人哪!
不顶对不起社会!:lol
gy21st 2008-1-9 10:57
[quote]原帖由 [i]yabest[/i] 于 2008-1-9 02:47 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=852078&ptid=103357][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
很好的文章,分析研究得很深、很全面!
想起以前设计QTP框架时,也需要考虑脚本错误的处理方法:
[*]当时发现Action之间的错误信息不能传递,感觉QTP的Action有很多局限。加上Action调用也不方便,在很多方面相 ... [/quote]
谢谢专家支持。:)
之前怎么没注意到那个帖子呢,那样就不用花那么多时间去反复实验和比较了。。。
gy21st 2008-1-10 11:07
[quote]原帖由 [i]lantianwei[/i] 于 2008-1-9 10:00 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=852131&ptid=103357][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
好人哪!
不顶对不起社会!:lol [/quote]
多谢精神支持~~:lol
下了很多,支持的很少啊:(
[[i] 本帖最后由 gy21st 于 2008-1-10 11:08 编辑 [/i]]
greatplan 2008-1-30 17:13
支持LZ,下载了。
qinahia 2008-2-21 11:53
正在考虑这方面的东西,太感谢了。不过想理清楚还得具体操作
arthur766 2008-6-19 15:37
这是好东西,学习了
centurystone 2008-7-10 16:55
偶不是那种看贴不回的银
tobywaner 2008-8-29 11:13
好东西,谢谢搂住
lin85210 2008-10-30 14:31
好东西 -不让它沉下
lin85210 2008-10-30 15:05
很细致,我顶你,,楼主辛苦;
lilysun0411 2008-10-30 16:17
学习中。。。
谢了!
legendarylucc 2008-10-30 17:53
谢谢楼主~很详细!
sunzhenguo1010 2008-11-4 10:46
顶起来