QTP软件测试 Windows计算器自动化脚本

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  filename:     QTP_SoftwareTest..vbs
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'  function:     测试Windows自带计算器简单的加减乘除运算
'  run condition: 运行前Object Repository 必须包含对象+-*/,0~9, = Edit(显示结果的文本框)
'  author:    WTU CS0921 dl
'  date:       2012-10-22
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'调用主函数
mainFunc
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'  函数名:     mainFunc
'    功能:     主函数,依次从表格的每一行取出两个数和一个运算符
'         然后计算它们的结果,将测试结果写入到表格test_result
'         然后将test_result和expected_result期望值比较,如果相等]
'         则表示测试通过,否则测试不通过
'     传入参数:   无
'       返回参数    无
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function mainFunc()
 Dim i           '循环变量
 Dim num1            '  从表格中取出的第一个数
 Dim num2         '   从表格中取出的第二个数
 Dim operator      ' 从表格中取出计算两个数的运算符类型
 Dim test_result      '   测试结果
 Dim expected_result   '   预期结果
 Dim tmp         '   临时变量
 
 For i=1 to  DataTable.GetSheet("Action1").getrowcount
   DataTable.GetSheet("Action1").SetCurrentRow(i)
   num1      = cstr(datatable("num1", dtLocalSheet))
   num2     = cstr(datatable("num2", dtLocalSheet))
   operator    = cstr(datatable("operator", dtLocalSheet))
   
   setClick ("CE")
   calcResult num1, num2,  operator
   Window("计算器").WinEdit("Edit").Output CheckPoint("Edit")
   test_result     = RTrim(datatable("test_result", dtLocalSheet)) 'RTrim函数去除字符串后空格
   '如果test_result字符串最后一个字符有小数点,则去除
   If   mid(test_result, len(test_result), 1)= "." Then
    tmp = mid(test_result, 1, len(test_result)-1)
    test_result = mid(tmp, 1, len(tmp))
   End If
   
   expected_result     = (datatable("expected_result", dtLocalSheet))
      If  test_result=expected_result Then
    reporter.ReportEvent  micPass,  "测试通过", "预期值="+expected_result+", " +"实际值="+test_result
   else 
    reporter.ReportEvent   micFail,   "测试失败", "预期值="+expected_result+", " +"实际值="+test_result
   end if
   
 Next
 
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'  函数名:     calcResult
'    功能:     输入num1和num2后计算结果
'     传入参数:    num1数1  num2数2 operator运算符
'       返回参数    无
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function calcResult(Byval num1, Byval num2, Byval operator)
   inputData(num1)
   setClick(operator)
   inputData(num2)
   setClick("=")
End Function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'  函数名:     inputData
'    功能:     将data数据输入到计算器中
'     传入参数:    data输入的数据
'       返回参数    无
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function inputData(ByVal data)
   Dim i
 For i=1 to len(data)
  setClick(mid(data, i, 1))
 Next
End Function
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'  函数名:     setClick
'    功能:     根据点击类型clicktype参数来模拟人
'        单击计算器界面上的按钮
'     传入参数:   click点击的类型
'       返回参数    无
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function setClick(ByVal click)
 Select Case click
   Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/", ".", "=", "CE"
                Window("计算器").WinButton(click).Click
 End Select
End function

读Excel文件中的计算式,调用计算器实现自动计算 【Dim aslen,t , iRowCount, iLoop, numAdd,xlApp, xlFile, xlSheet Set xlApp = CreateObject ("Excel.Application") Set xlFile = xlApp.Workbooks.Open ("c:\a.xlsx") Set xlSheet = xlFile.Sheets("Sheet1") iRowCount = xlSheet.usedRange.Rows.Count ‘计算Sheet1中已经填写的行数 For iLoop = 2 To iRowCount numAdd2 = xlSheet.Cells(iLoop,2) ‘读出Excel的第二列的内容 aslen=Len( numAdd2) For t=1 To aslen Select Case Mid(numAdd2,t,1) 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 "0" Window("计算器").WinButton("0").Click Case "+" Window("计算器").WinButton("+").Click Case "-" Window("计算器").WinButton("-").Click Case "*" Window("计算器").WinButton("*").Click Case "/" Window("计算器").WinButton("/").Click Case "=" Window("计算器").WinButton("=").Click Case "." Window("计算器").WinButton(".").Click Case "C" Window("计算器").WinButton("C").Click case else msgbox "input error" End Select Next Next Window("计算器").Close xlFile.Save xlFile.Close xlApp.Quit Set xlSheet = Nothing Set xlFile = Nothing Set xlApp = Nothing
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值