51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 39004|回复: 49
打印 上一主题 下一主题

[Robot] robot函数实例讲解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-11-29 22:19:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
功能说明:出现一个提示对话框,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
*******************************************************************
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

50#
发表于 2011-8-15 16:16:42 | 只看该作者
很早的贴子了,偶尔还会被翻出来。现在学习这个的人可不多了
回复 支持 反对

使用道具 举报

该用户从未签到

49#
发表于 2011-3-5 13:43:06 | 只看该作者
很好。收藏了
回复 支持 反对

使用道具 举报

该用户从未签到

48#
发表于 2008-11-4 11:10:07 | 只看该作者

robot取excel表格参数脚本,并把结果写入excel,其中还包含结果判断

http://www.cnblogs.com/ttyttt/archive/2008/08/31/1280812.html
robot取excel表格参数脚本
declare function getdata(namex as integer,namey as integer) as string
declare function setdata(resultx as integer,resulty  as integer,pa as string) as string
'$include "sqautil.sbh" '头包含

Sub Main
Dim Result As Integer
dim pass as String
dim pa as string
dim count as Integer
dim con as integer

For count=1 To 2 '在excel表里取三行数据
for con=1  to 2  '在excel表里取三列数据
'name1 = worksheet.Cells(count,1).Value '从表中取具体行列对应的值
pass=getdata(count,con)
pa=setdata(count,con+9,pass)
msgbox pass
next con
next count
End Sub
'********************以下为自定义函数****************************
function getdata(namex as integer,namey as integer)  '设置excel数据
  dim excel as Object '定义对象
  dim book as Object
  dim worksheet as Object
  dim  na as string
  on error resume next

Set excel = GetObject("excel.application") '设置excel变量为execl对象
if(excel Is Nothing) then '判断是否设置成功
Set excel = CreateObject("excel.application") '创建excel对象
if(excel Is Nothing) then '判断是否创建成功
MsgBox "Couldn't find Excel!"
End if
End if
'msgbox "成功"
Set book = excel.Workbooks.Open("d:\qin.xls") '打开具体Excel文件,这里是我d盘下一个名为qingd的xls文件
Set worksheet = book.Worksheets("1") '设置工作的表,工作表的名字为1

na=worksheet.Cells(namex,namey).Value
getdata=na
excel.Quit '关闭excel
Set excel = Nothing '把excel对象设置为空
end function


'************************************/
'/////////////////////////////
function setdata(resultx as integer,resulty as integer,pa as string)
dim excel1 as Object '定义对象
  dim book1 as Object
  dim worksheet1 as Object
  on error resume next
Set excel1 = GetObject("excel.application") '设置excel变量为execl对象
if(excel1 Is Nothing) then '判断是否设置成功
Set excel1 = CreateObject("excel.application") '创建excel对象
if(excel1 Is Nothing) then '判断是否创建成功
MsgBox "Couldn't find Excel!"
End if
End if
'msgbox "成功"
Set book1 = excel1.Workbooks.Open("d:\qin.xls") '打开具体Excel文件,这里是我d盘下一个名为qingd的xls文件
Set worksheet1 = book1.Worksheets("1") '设置工作的表,工作表的名字为1
worksheet1.Cells(resultx,resulty).Value=pa
  open "D:\2.txt" for append as #2
  write #2,pa
  excel1.Quit '关闭excel
Set excel1 = Nothing '把excel对象设置为空
end function


posted on 2008-08-31 23:35 飞儿 阅读(29) 评论(0)  编辑 收藏 网摘
回复 支持 反对

使用道具 举报

该用户从未签到

47#
发表于 2008-8-19 14:16:36 | 只看该作者
anyway,thanks for your share.
回复 支持 反对

使用道具 举报

该用户从未签到

46#
发表于 2008-8-2 00:23:17 | 只看该作者
hhhhhhhhhhhhhhh
回复 支持 反对

使用道具 举报

该用户从未签到

45#
发表于 2008-7-7 15:54:55 | 只看该作者
好好好
回复 支持 反对

使用道具 举报

该用户从未签到

44#
发表于 2008-6-20 09:39:55 | 只看该作者
刚开始学习收藏一下
回复 支持 反对

使用道具 举报

该用户从未签到

43#
发表于 2008-5-21 14:41:44 | 只看该作者
辛苦了!谢谢! 有图片就更好了
回复 支持 反对

使用道具 举报

该用户从未签到

42#
发表于 2007-12-20 16:28:30 | 只看该作者
好贴留名。学习。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2015-12-2 10:12
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    41#
    发表于 2007-10-29 12:47:43 | 只看该作者
    绝对支持!!沙发~~~~~太牛了!慢慢消化中。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40#
    发表于 2007-10-1 10:03:30 | 只看该作者
    非常需要,刚开始自动化测试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    39#
    发表于 2007-9-29 09:57:38 | 只看该作者
    基础知识普及型的好贴
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    38#
    发表于 2007-9-24 23:14:11 | 只看该作者

    好贴

    受益匪浅sdlkfj2
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    37#
    发表于 2007-9-19 13:29:32 | 只看该作者
    真是好东西啊,牛人啦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    36#
    发表于 2007-9-14 19:25:51 | 只看该作者
    辛苦啦,
    呵呵,
    非常感谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35#
    发表于 2007-9-14 09:45:40 | 只看该作者
    辛苦了,写得很详细.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34#
    发表于 2007-9-5 15:49:09 | 只看该作者
    介绍的很详细,真是太好了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    33#
    发表于 2007-8-20 11:00:35 | 只看该作者

    回复 #1 sincky 的帖子

    你好,您有robot的安装包么,我是刚学习测试的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32#
    发表于 2007-8-13 17:35:02 | 只看该作者

    哪位有Crystal Report 8.5

    QQ:274744797
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-28 09:17 , Processed in 0.079644 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表