'计算期望值
Select Case operator
Case 0 result = clng(op1) + clng(op2)
Case 1 result = clng(op1) - clng(op2)
Case 2 result = clng(op1) * clng(op2)
Case 3 result = clng(op1) / clng(op2)
End Select
'随机生成按键
'输入值:操作位数
'输出值:生成值
Function GetExec( j )
Dim res,m,i
Window("计算器").Activate
For m =1 to j
i =Get_RandNum(0,9)
res = res + cstr(i)
Select Case i
Case 0 Window("计算器").WinButton("0").Click
Case 1 Window("计算器").WinButton("1").Click
Case 2 Window("计算器").WinButton("2").Click
Case 3 Window("计算器").WinButton("3").Click
Case 4 Window("计算器").WinButton("4").Click
Case 5 Window("计算器").WinButton("5").Click
Case 6 Window("计算器").WinButton("6").Click
Case 7 Window("计算器").WinButton("7").Click
Case 8 Window("计算器").WinButton("8").Click
Case 9 Window("计算器").WinButton("9").Click
Case Else
End Select
Next
If res = "" Then
res = 0
End If
GetExec = res
End Function
'随机生成操作符
'输出值:操作代码
Function GetOperation()
Dim oper
oper = Get_RandNum(0,3)
Window("计算器").Activate
Select Case oper
Case 0 Window("计算器").WinButton("+").Click
Case 1 Window("计算器").WinButton("-").Click
Case 2 Window("计算器").WinButton("*").Click
Case 3 Window("计算器").WinButton("/").Click
Case Else
End Select
GetOperation = oper
End Function
'写文件函数(追加)
'输入值:写入内容
Public Function QTP_WriteFile(pathway,words)
Dim fileSystemObj,fileSpec,logFile,way
Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
fileSpec = pathway
Set logFile = fileSystemObj.OpenTextFile(fileSpec, 8, true)
logFile.WriteLine (CStr(words))
logFile.Close
Set logFile = Nothing
End Function
'恢复QTP窗口
Public Sub QTP_Big()
Dim objQTPWin
Set objQTPWin = GetObject("" , "QuickTest.Application")
objQTPWin.WindowState = "Restored"
Set objQTPWin = Nothing
End Sub
'让QTP运行时保持最小化
Public Sub QTP_Small()
Dim objQTPWin
Set objQTPWin = GetObject("" , "QuickTest.Application")
objQTPWin.WindowState = "Minimized"
Set objQTPWin = Nothing
End Su
'随机函数生成
'输入值:生成值范围 i~j
'返回值:随机数
Public Function Get_RandNum(fromNum,toNum)
If (fromNum<0) Or (toNum<0) Then
MsgBox "只接受大于零的输入"
ElseIf fromNum>toNum then
MsgBox "起始值必须小于结束值"
Else
Dim RunTime
Randomize
RunTime = Int((10 * Rnd) + 1)
Dim MyValue,i
For i = 1 To RunTime
Randomize
MyValue = Int(((toNum - fromNum + 1) * Rnd) + (fromNum))
Next
Get_randNum=MyValue
End If
End Function作者: heqingbluesky 时间: 2007-12-24 15:10
好主意,我自己也做了一个相同的例子,只是LZ的简化版,
Dim OperandA, OperandB, Operation,Result
sub Standard_Calculation(OperandA, Operation, OperandB)
'First Operand
OperandA = cint(OperandA)
Select Case OperandA
case 0
Window("Calculator").WinButton("Button").Click
case 1
Window("Calculator").WinButton("Button_2").Click
case 2
Window("Calculator").WinButton("Button_3").Click
case 3
Window("Calculator").WinButton("Button_4").Click
case 4
Window("Calculator").WinButton("Button_12").Click
case 5
Window("Calculator").WinButton("Button_13").Click
case 6
Window("Calculator").WinButton("Button_14").Click
case 7
Window("Calculator").WinButton("Button_15").Click
case 8
Window("Calculator").WinButton("Button_16").Click
case 9
Window("Calculator").WinButton("Button_17").Click
End Select
'Operation
Select Case Operation
case "+"
Window("Calculator").WinButton("Button_18").Click
case "-"
Window("Calculator").WinButton("Button_19").Click
case "*"
Window("Calculator").WinButton("Button_20").Click
case "/"
Window("Calculator").WinButton("Button_21").Click
End Select
'Second Operand
OperandB = cint(OperandB)
Select Case OperandB
case 0
Window("Calculator").WinButton("Button").Click
case 1
Window("Calculator").WinButton("Button_2").Click
case 2
Window("Calculator").WinButton("Button_3").Click
case 3
Window("Calculator").WinButton("Button_4").Click
case 4
Window("Calculator").WinButton("Button_12").Click
case 5
Window("Calculator").WinButton("Button_13").Click
case 6
Window("Calculator").WinButton("Button_14").Click
case 7
Window("Calculator").WinButton("Button_15").Click
case 8
Window("Calculator").WinButton("Button_16").Click
case 9
Window("Calculator").WinButton("Button_17").Click
End Select
'Get the result from text field
Result =Window("Calculator").Static("15.").GetROProperty("text")
Select Case Result
Case "7. "
msgbox("The answer is correct.")
Case "12. "
msgbox("The answer is correct.")
Case "1. "
msgbox("The answer is correct.")
Case "2. "
msgbox("The answer is correct.")
Case Else
msgbox("The answer is wrong!")
End Select