用QTP实现计算器的多位数计算

本文介绍如何使用QTP进行多位数的计算操作,通过参数化和循环语句的应用,实现更加灵活的测试案例设计。文章详细展示了如何将长数字序列拆分为单个数字,并逐一点击计算器上的按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            很多初学者开始接触QTP一般都是通过计算器的例子来练习。对于一位数的计算,比较简单,录制回放就可以了,但是对于多位数的计算,就需要用到一些简单的编码知识。比如我需要计算123+456=?,这时,简单的录制回放也可以完成,但是缺乏灵活性,如果是四位数或者更多的位数呢? 

 

因此我们只需要在之前的一位数计算的代码中增加简单的循环语句,就可以达到多位数计算的目的。当然也需要进行参数化。

这里用到的参数化是对运行时对象的名称进行参数化。

先看一位数计算的代码,如下:

systemutil.Run "C:/Windows/System32/calc.exe"

window("Calculator").WinButton("1").Click

Window("Calculator").WinButton("+").Click

window("Calculator").WinButton("6").Click

Window("Calculator").WinButton("=").Click

Window("Calculator").WinButton("C").Click

Window("Calculator").Close

以上代码实现的是1+6=7的过程。如果要实现123+6=?,此时我们需要将123写入datatable,也可以直接将”123”保存在一个变量中,都可以。我们先定义两个变量,一个是num1,用来存储从datatable中取出的值,很显然,对象库里并没有”123”这个对象名称,因此我们需要将”123”拆分成”1””2””3”,这时就需要定义一个变量用来存储拆分出来的值,就是buttonnumber

我们知道mid()函数,可以从字符串中返回指定数目的字符,因此我们可以利用mid()函数来取出num1的每个字符。

num1=datatable.value(“num1”)

buttonnumber=mid(num1,1,1)表示取出num1的第一个位置的第一个字符,也就是1,如果想取出所有字符,需要用到for循环

完整的代码如下:

Dim num1, buttonnumber

num1=datatable.Value("num1")

For i=1 to len(num1)

buttonnumber=mid(num1,i,1)

Window("Calculator").WinButton(buttonnumber).Click

Next

这样就实现了将123的输入。后面的代码和一位数的计算相同,因此整个代码就实现了123+6=129的计算过程:

systemutil.Run "C:/Windows/System32/calc.exe"

Dim num1, buttonnumber

num1=datatable.Value("num1")

For i=1 to len(num1)

buttonnumber=mid(num1,i,1)

Window("Calculator").WinButton(buttonnumber).Click

Next

Window("Calculator").WinButton("+").Click

window("Calculator").WinButton("6").Click

Window("Calculator").WinButton("=").Click

Window("Calculator").WinButton("C").Click

Window("Calculator").Close

当然我们也可以将第二位数也修改成多位数的计算,采用相同的方法即可。

 

读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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值