51Testing软件测试论坛

标题: 登录设计 [打印本页]

作者: scanli100    时间: 2006-8-27 21:36
标题: 登录设计
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

[ 本帖最后由 scanli100 于 2006-8-27 21:43 编辑 ]
作者: skyzhu    时间: 2006-8-27 22:59
总感觉复杂了点,还有对窗口存在的判断
If Dialog("Login").Dialog("Flight Reservations").Exist(3) then
Exist后面可以加时间(秒),否则好像会等着的,时间还蛮长的
作者: lyscser    时间: 2006-8-28 08:36
我对VB脚本一点也不熟悉
不知道如何去学习
求达人指教
作者: walker1020    时间: 2006-8-28 09:39
机器总归没有人聪明,现在的电脑也没有发展到和人的智力水平一样的程度,所以 Dialog("Login").Dialog("Flight Reservations").Exist 时候 它会不停的选择这个对象,直到确认确实是没有找到这个对象才停止,所以你感觉“时间还蛮长的”。用 Dialog("Login").Dialog("Flight Reservations").Exist(3) 作为条件进行判断不一定准备,但用楼主的 Dialog("Login").Dialog("Flight Reservations").Exist 是可以的。
作者: QA_BAY    时间: 2006-8-28 10:14
跟QTP自带的例子差不多!但还是要谢谢楼主分享经验!
其实登录有很多写法,主要还是要看你的测试用例怎么设计的,这个才是要点!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2