• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

robot函数实例讲解(一)

发布: 2008-9-18 14:52 | 作者: sincky | 来源: 51testing论坛 | 查看: 11次 | 进入软件测试时代论坛讨论

软件测试时代

功能说明:出现一个提示对话框,N秒后消失,比如说:提示等待一个窗口阿,有时候这个窗口没了,我也不知道脚本运行到什么地方了,提示一下挺好,也方便其他测试员修改,而且,也不影响无人值守的操作

例子:SQAMsgbox "test","title",5

Global iTime as Integer

Declare Function TimedDlgFunc(id As String, Action As Integer, Suppvalue As Long) As Integer

Declare Function SQAMsgBox(sMsgText as String, Optional vMsgCaption as Variant, Optional vTimeOut as Variant) as Integer


Function TimedDlgFunc(id As String, Action As Integer, Suppvalue As Long) As Integer
    Static StartTime
    Dim EndTime
    Dim vTimeoutvalue as Variant

    Select Case Action
        Case 1      'Dialog box Initialization
                StartTime = Timer

                If StartTime + iTime >= 86400 Then
                        StartTime = 86400 - StartTime - iTime
                End If
                TimedDlgFunc = 1

        Case 2      'Button pushed or any control changed (except typing in text or combo box)
            Select Case Suppvalue
                Case 1
                    DlgEnd -1
                Case 2
                    DlgEnd 0
                Case Else
                    TimedDlgFunc = 0
            End Select

        Case 3      'Change in text or combo box contents
                TimedDlgFunc = 1

        Case 4      'Change of control focus
                TimedDlgFunc = 1

        Case 5      'Idle state (return 0 to prevent this being continually called)
                EndTime = Timer
                If (EndTime - StartTime) >= iTime Then
                        DlgEnd -1
                End If
                vTimeoutvalue = Format(iTime - (EndTime - StartTime), "#.#")
                DlgText DlgControlID("txtTimevalue"), CStr(vTimeoutvalue)
                TimedDlgFunc = 1
    End Select

End Function


Function SQAMsgBox(sMsgText as String, Optional vMsgCaption as Variant, Optional vTimeOut as Variant) as Integer
    Dim Result as Integer
    Dim TotalTime As Integer
    Dim sCmdText as String   
    Dim sTimeoutText as String
    Dim vvalue as Variant

   
    If IsMissing(vMsgCaption) Then
        vMsgCaption = "SQAMsgBox"
    End If
    If IsMissing(vTimeOut) Then
        vTimeOut = 20       'seconds
    End If

    sTimeoutText = "Timeout: "
   
'-----
    Begin Dialog dlgMsgBox 200, 80, vMsgCaption, .TimedDlgFunc
        GroupBox 5, 2, 190, 40, "", .grpMsgTxt
        Text 15, 11, 175, 25, sMsgText, .txtMsgText
        Text 15, 47, 180, 20, sCmdText, .txtCmdText
'--------------
        Button 20, 60, 40, 14, "&OK", .btnOK
        Button 140, 60, 40, 14, "&Cancel", .btnCancel
        Text 78, 63, 30, 10, sTimeoutText, .txtTimeText
        Text 108, 63, 20, 10, vTimeout, .txtTimevalue
    End Dialog
'-----

    Dim TimedDlg As dlgMsgBox
    iTime = CInt(vTimeOut)
    Result = Dialog(TimedDlg)
   
    If Result = 2 Then
        SQAMsgBox = sqaFail
    Else
        SQAMsgBox = sqaPass
    End If   
   
End Function

文章来源于软件测试时代 http://www.testage.net/

TAG: robot Robot 函数 讲解 实例

31/3123>

软件测试时代开课信息
Google
关于我们 | 合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2007 TestAge(测试时代) 北京慧灵科技有限公司 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备05002925号
技术支持和业务联系:info@testage.com.cn 电话:010-51297073