51Testing软件测试论坛

标题: Login窗口的qtp测试脚本,谁有成功的例子 [打印本页]

作者: 一只竹子    时间: 2008-9-11 16:36
标题: Login窗口的qtp测试脚本,谁有成功的例子
求Login登录窗口的qtp测试脚本,要求是关于用户名和密码的测试例子,比如用户名错误,或者密码错误,或者为空的情况下,用qtp如何测试,还请高手指教,如果有成熟的例子,那就更加多谢了。
作者: 假装不在    时间: 2008-9-11 16:40
很多人都喜欢问这个问题,你可以在论坛上搜索下,有很多。
无非就是读取数据,set数据,捕获登陆信息,做出判断。
作者: jifeng    时间: 2008-9-11 21:19
给你个函数参考,处理错误情况的,如何用自己发挥吧!
Public Function ReverseCheck( strKeys)                                             
           ReverseCheck=0

        If strKeys = "" Then                                                                                 
                reporter.ReportEvent micWarning,"要检测的值为 空","要检测的值为 空"
                ReverseCheck = 0         
                Exit Function
        End If
        strSnapDir = "c:\result"
        Dim objFSO
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        If Not objFSO.FolderExists( strSnapDir ) Then
                objFSO.CreateFolder( strSnapDir )                                                     
        End If
        Set objFSO = Nothing

        DateNow=Date
        TimeNow=Time
       
        strDate=Split(DateNow,"-")
        For i=lbound(strDate) to ubound(strDate)
                istrDate=istrDate&strDate(i)
        Next
       
        strTime=Split(TimeNow,":")
        For i=lbound(strTime) to ubound(strTime)
                istrTime=istrTime & strTime(i)
        Next
        imgName=istrDate & istrTime

        bDlgExist = False

        strTmpAltTitle = "Microsoft Internet Explorer"
        If Browser("creationTime:="&currentwin).Dialog("text:="&strTmpAltTitle).Exist(1) Then
                strAltTitle = strTmpAltTitle
                bDlgExist = True
        End If  

        strTmpAltTitle = "Windows Internet Explorer"
        If bDlgExist = false Then
                If Browser("creationTime:="&currentwin).Dialog("text:="&strTmpAltTitle).Exist(1) Then
                        strAltTitle = strTmpAltTitle
                        bDlgExist = True
                End If
        End If

        If bDlgExist = True Then

                Set objDesc = Description.Create()
                objDesc("micclass").Value = "Static"
                Set objDlgStatics = Browser("creationTime:="&currentwin).Dialog("text:="&strAltTitle).ChildObjects(objDesc)
               
                iDlgStaticCnt = objDlgStatics.Count
                iDlgStaticSeq = 0
               
                Do While iDlgStaticSeq < iDlgStaticCnt
                        strTextInAlert = objDlgStatics(iDlgStaticSeq).GetROProperty("text")
                        'If InStr(1,strTextInAlert,strKeys,vbTextCompare) >= 1Then
                        If cstr(strTextInAlert)=cstr(strKeys) Then
                                Reporter.Filter =0
                                Reporter.ReportEvent micPass, "反案例成功执行!", "页面存在以下错误提示"&"【"&strKeys&"】"
                                Reporter.Filter =1
                                Browser("creationTime:="&currentwin).Dialog("text:="&strAltTitle).WinButton("text:=确定").Click
                                ReverseCheck=1
                                 Exit Function
                        End If
                                 iDlgStaticSeq=iDlgStaticSeq+1
                Loop

                If  ReverseCheck=0 Then
                           ' strFullName = strSnapDir & "\snap" & Environment.Value("screensnap")&".png"
                                 strFullName = strSnapDir & "\" &imgName&".png"
                                Browser("creationTime:="&currentwin).Dialog("text:="&strAltTitle).CaptureBitmap strFullName,True
                               
                                Reporter.ReportEvent micFail,      "反案例执行失败","页面实际显示【"  & strTextInAlert&"】"&"与预期结果【"&strKeys&"】"&"不符。"&"   错误截图【"&imgName&".png"&"】保存位置:"&strFullName
                                Browser("creationTime:="&currentwin).Dialog("text:="&strAltTitle).WinButton("text:=确定").Click
                End If
                 Exit Function
        End If
       
                Set objDlgStatics = Nothing
                Set objDesc = Nothing

End Function

[ 本帖最后由 jifeng 于 2008-9-12 10:50 编辑 ]
作者: liii0821    时间: 2008-9-12 08:39
标题: 回复 1# 的帖子
'定义变量
dim Bname,Pname,Uname,PWname

'赋值动作
Bname=$Browser '变量根据你要测试的对象而定
……
'描述区域
Browser("name:="&Bname).Page("title:="&Pname).WebEdit("text:="&Uname).set "root"
Browser("name:="&Bname).Page("title:="&Pname).WebEdit("text:="&PWname).set "1"
Browser("name:="&Bname).Page("title:="&Pname).WebEdit("text:="&PWname).submit
'至于登录失败,QTP是不会自动控制的。需要人工加入智能判断。set的值你可以读参数表
作者: jifeng    时间: 2008-9-12 09:16
处理异常情况,给你作为参考吧!

[ 本帖最后由 jifeng 于 2008-9-12 10:49 编辑 ]
作者: happychap    时间: 2008-9-12 11:58
呵呵,我现在比较喜欢用DataTable来做这样的事情
其实,DataTable中,不仅仅可以放一些测试用的数据,也可以放一些用来帮助你控制测试流程的数据啊。
作者: 鹭岛    时间: 2008-9-12 11:59
找找论坛会员sogoc写的关于飞机登录或者QQ的脚本(MY MJ)
作者: 一只竹子    时间: 2008-9-16 15:20
标题: 多谢了
谢谢各位大大的热心帮忙
作者: helius    时间: 2008-9-16 18:08
一个叫【脚本优化】的帖子不错
作者: purify_jj    时间: 2008-9-17 10:16
找一下先,我也想问这个~




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