实用函数贴大集合,把大家自己的常用的功能函数贴进来
我先来一段。。。。。。出处:网上下载的,略作修改。
功能说明:出现一个提示对话框,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
大家踊跃参加阿,这样我们就会有一大堆实用函数了。使用的朋友请回贴帮顶,谢谢。
[ Last edited by guirongb on 2004-12-9 at 13:28 ] 晕,怎么出现表情符号了?? 没人么?我再来
WIN32 API函数声明下载。直接可以在Robot里面调用。
[ Last edited by guirongb on 2004-12-9 at 13:33 ]
顶!!!
再贴一个,这是我自己写的.....
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long'向目标计算机发送消息
'例如:sendmsg "rsgui","test complete!"
Declare Function SendMsg(computer as string,txt as string)
Function SendMsg(computer as string,txt as string)
dim operate as string
operate="/c net send " & computer & " " & txt
shellexecute 0,"open","cmd.exe",operate,"c:\",0
End Function 最好加上功能说明,以及注释。
这样看起来比较容易懂~建议建议
继续看各位大虾发实用的功能函数,加油加油,非常有用啊~~~~ 我还不太会用,麻烦各位加上注释哦!
没劲,就我一个人在发,好吧,再来一个拉
'得到控件的属性,并保留到文件中function SaveAllPropertyValues (ObjectRec As String, Filename As String)
Dim Result As Integer
Dim Properties() As String
Dim Value As Variant
Dim n As Integer
Open Filename For Output As #1
Result = SQAGetPropertyNames(ObjectRec, Properties)
If Result <> sqaSuccess Then
SQALogMessage sqaWarning, "Unable to capture """ + ObjectRec + """ properties", "Error" + Str$(Result) + ": " + Error$(Result)
Exit function
End If
For n = 0 to UBound(Properties)
Result = SQAGetPropertyAsString(ObjectRec, Properties(n), Value)
If Result = sqaSuccess Then
Write #1, Properties(n), Value
End If
Next n
Close #1
SQALogMessage sqaNone, "Properties of " + ObjectRec + " saved in " + Filename, ""
End function
还有的继续调试好了再发.这几个是用了很多次,也比较有用的,怎么没人呢
先看一看 不错,还没使用过,最好加点注释? 老大有 抓 控间 属性值 的代码吗?谢谢谢谢阿,这样的帖子实用性很高呢
顶一个。不过能给出调用说明就好了。SaveAllPropertyValues 我就调不成功 我才刚接触Robot,guirongb你能不能给我点指点? 那个函数SaveAllPropertyValues调成功了,不错。可惜我得到一个控件的属性Value,它的值 为文本(比方说,pls select an item),但在我的函数中用Getproperty时得到的却为数值1 我来顶啦 东西很好啊,建议版主考虑下加精吧?