QTP 9.5下测试计算器例子

来源:互联网 发布:心酸的一句话知乎 编辑:程序博客网 时间:2024/05/16 10:44
代码在下面,完整压缩包例子请参见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,worksheetTmpDim one,twoDim ipos,ilenDim intTmp, iisheetrow=1const 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.closeSet fileInput=NothingSet fsoInput=Nothing