1、QTP错误处理机制
·全局错误响应:Test setting中run设置。
QTP的系统缺省错误处理;该方式对整个脚本有效,若出错在Function Library,错误只存在library中,不会传到Action中。
·VBScript. on Error错误处理:On Error Resume Next。
VBScript处理方式有以下几种:
a) On Error Resume Next:一旦这个语句已经被处理,脚本将继续后面的程序,不理会已经出现的错误。
b) On Error GoTo 0:使用On Error GoTo 0语句回复缺省的错误处理行为,在运行这个语句后,发生的运行期间错误将导致缺省错误处理(全局错误响应)。
c) Err对象:三个属性Number,Source,Description。在运行时错误发现的时候赋予新的值,原来的将被丢弃。Err对象是全局的,不受函数调用的影响。Err对象可以使用clear方法清空。
任何时候使用On Error Resume Next或On Error GoTo 0都会清空Err对象。
·错误恢复场景:Recovery Scenario
触发条件有:
a) Pop-up Window
b) Object state
c) Test run error
d) Application Crash
错误恢复有以下几种方式:
a) Keyboard or mouse operation
b) Close Application process
c) Function Call
d) Restart Microsoft Windows
2、QTP自动化对象模型
使用QTP自动化对象模型提供的对象、方法、属性,可以编写脚本来设置QTP、运行测试,而不需要在QTP节目上手工进行。
【实践】
3、VBScript文本文件的操作
a) 创建文件对象
语法:object.CreateTextFile(filename[,overwrite[,unicode]])
b) 打开指定文件并返回TextStream对象,可以读取、写入此对象或将其追加到文件。
语法:object.OpenTextFile(filename[,iomode[,create[,format]]])
[实践]
<script. language="vbscript">
Function wlogs(logs)
Dim fso, f1, ForReading
Const ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists("c:\testfile.txt") then
Set f1 = fso.OpenTextFile ("c:\testfile.txt",ForAppending, True)
else
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
end if
f1.Write (logs&vbCrLf)
f1.Close
End Function
</script>
4、如何选择开源自动化测试工具
·功能
a) 报表功能:能否提供清晰的测试结果报表
b) 集成功能:能否和开发工具进行良好的集成
c) 兼容性:与团队目前采用的开发平台是否兼容
·价格
·长期考虑
应保证今后测试工具与团队开发工作能具备连续性和一致性。例如应考虑软件升级带来的影响。