QTP 9.5下测试计算器例子

代码在下面,完整压缩包例子请参见http://download.csdn.net/source/504482
'*************************************************************************

'* 模板名称: CALC

'* 开发人员: TANZHEN

'* 开发日期: 2006-10-12

'* 输入参数: 计算器的x,y(单数)

'* 输出参数: 结果为z

'* 脚本描述: 模拟简单的CALC的加法运算

'* 修改日期: 2008-06-18

'* 修改人员: CockRoach

'* 修改目标: 支持超过个位整数

'*************************************************************************

Dim fsoInput,fsoOutput,fileInput,readstring,fileOutput,worksheetTmp

Dim one,two

Dim ipos,ilen

Dim intTmp, i

isheetrow=1

const forreading=1 





set fsoInput=createobject("scripting.filesystemobject")

Set fileInput=fsoInput.opentextfile("E:/Project/QTPTest/TestCalQTP95/input.txt",forreading)

Set fsoOutput=createobject("excel.application")

Set fileOutput=fsoOutput.workbooks.open("E:/Project/QTPTest/TestCalQTP95/output.xls")

Set worksheetTmp=fileOutput.worksheets("sheet1")



Do While (fileInput.atendofline <> True)

    readstring=fileInput.readline

    ipos=instr(1,readstring,",",1)

    ilen=Len(readstring)

    '取得2个加数

    one=left(readstring,ipos-1)

    two=right(readstring,ilen-ipos)  

    

    '激活计算器进行操作

    Window("计算器").Activate

    '输入第一个加数

    '计算加数1的最高位位数(十/百/千/万...)

    i = Int (Log(one)/Log(10))

    if i = 0 Then

        '个位数

        Window("计算器").WinButton(one).Click

    else

        '非个位数

        Do  

            intTmp = Int((one / (10 ^ i)) mod 10)

            Window("计算器").WinButton(CStr(intTmp)).Click

            i = i - 1

        Loop While i > 0

    end if        



    '输入+    

    Window("计算器").WinButton("+").Click



    '输入第二个加数

    i = Int (Log(two)/Log(10))

    if i = 0 Then

        '个位数

        Window("计算器").WinButton(two).Click

    else

        '非个位数

        Do  

            intTmp = Int((two / (10 ^ i)) mod 10)

            '激活计算器进行操作

            Window("计算器").WinButton(CStr(intTmp)).Click

            i = i - 1

        Loop While i > 0

    end if       

    

    '输入=

    Window("计算器").WinButton("=").Click



    '此次加入catch的结果,(通过OUTPUT,和得到检查的值)

    '获取运算符 g=Window("计算器").WinButton("+").GetROProperty("text")

    '为期望结果作准备

    g1=cdbl(one)+cdbl(two) 

    

    '此处加入判断,比如实际和期望结果比较的条件,来得到是否是失败还是成功 )

    '目前只是输出运算值,结果,期望,实际值取法类似

    worksheetTmp.cells(isheetrow,1)=g+cstr(isheetrow)

    worksheetTmp.cells(isheetrow,2)=one

    worksheetTmp.cells(isheetrow,3)=two

    worksheetTmp.cells(isheetrow,4)=g1

    isheetrow=isheetrow+1 

Loop

'过程结束!

Window("计算器").Close

'关闭文件流 

fileInput.close

'清空文件流数据

fileOutput.close





Set fileInput=Nothing

Set fsoInput=Nothing







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
读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、付费专栏及课程。

余额充值