QTP参考资料收集(6)-3
上一篇 /
下一篇 2009-04-01 21:29:42
/ 个人分类:QTP
c)规范例程
脚本的生成方式就两种,一种是自写脚本,一种是录制生成。常常听见有人说,这两种方式中首选录制生成脚本,因为它简单且智能化。但我个人总觉得手写脚本要好一些,因为:
可读性好,流程清晰,检查点截取含义明确。业务级的代码读起来总比协议级的代码更易让人理解,也更容易维护,必要时可建立一个脚本库。而录制生成的代码大多没有维护的价值,现炒现卖。
手写程序相比录制脚本更能增加测试人员的技术含量。开发和测试能力双重提高,何乐而不为呢?QTP提供了java user,vb user,等语言类型的脚本,就是给我们开发脚本用的,而不是录制用的。
脚本不管录制也好,还是手写也好,选择的时候应该以脚本模拟程序真实有效为准,结合项目进度,开发难易程度等因素考虑。而脚本的开发也需要符合一种规范,也可以说是一种习惯,因为脚本不只是开发者一个人看,测试执行人员也需要看,这就要求可读性和可维护性提高;故而开发时应该考虑这层因素,规范一下。
下面这段某系统登陆的脚本,是一位前辈写的,引用一下(借机崇拜一下):
'*************************************************************************
'* 模板名称: Login
'* 开发人员: LY
'* 开发日期: 2006-10-12
'* 最后修改日期: 2006-10-13
'* 输入参数: 用户名、密码
'* 输出参数: 成功进入
'* 脚本描述: 通用的登陆设计
'***********************************************************************
Dim hint_msg
Dim hint
Dim ActualDialogPopup
InvokeApplication "D:\Program Files\Mercury Interactive\QuickTest Professional\samples\
flight\app\flight4a.exe"
'参数化user和password值
Dialog("Login").WinEdit("Agent Name:").Set DataTable("user",dtGlobalSheet)
Dialog("Login").WinEdit("Password:").Set DataTable("password",dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
hint = DataTable("hint",dtGlobalSheet)
'判断弹出错误提示框的正确性,如果输入了正确密码,而用户名又大于4个字符则不弹出错误提示框,否则弹出错误提示框。
If Dialog("Login").Dialog("Flight Reservations").Exist then
ActualDialogPopup = "TRUE"
else
ActualDialogPopup = "FALSE"
end if
ExpectedDialogPopup = DataTable("ExpectedDialogPopup",dtGlobalSheet)
If (ActualDialogPopup = ExpectedDialogPopup) then
Reporter.ReportEvent micpass,"登陆","程序判断正确."
'如果弹出错误提示框,通过对比hint
If ActualDialogPopup = "TRUE" Then
hint_msg = Dialog("Login").Dialog("Flight Reservations").Static("Static").GetROProperty("text")
If (hint = hint_msg) Then
Reporter.ReportEvent micpass,"登陆错误提示","错误提示信息正确."
else
Reporter.ReportEvent micFail,"登陆错误提示","错误提示信息错误."
End if
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").Close
else
Window("Flight Reservation").Close
End If
else
Reporter.ReportEvent micfail,"登陆","程序判断错误."
If ActualDialogPopup = "TRUE" Then
Dialog("Login").Dialog("Flight Reservations").Close
Dialog("Login").Close
else
Window("Flight Reservation").Close
end if
End If
收藏
举报
TAG: