logo资料库

QTP计算器实例.docx

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
计算器实例 qtp: 1、实现随机个位数相加 2、实现随机得到的多位数相加 3、实现四则运算的随机选择 4、数据长度 1~6 位(整数,小数(多种情况)) 5、实现小数 6、实现正负数 7、实现结果精度校验(校验到 4 位) 8、实现 10 次循环 9、特殊情况处理(除数为 0) 方法一: p = randomnumber(1,6) For i=0 to p-1 '第一个数 控制在一个六位数字中 '产生一个随机的 p-1 位数字 window("计算器").WinButton("num").Click '随机的添加小数点 Next For i=0 to randomnumber(0,1) window("计算器").WinButton(".").Click Next For i=0 to randomnumber(0,4 - p ) window("计算器").WinButton("num").Click next For i=0 to randomnumber(0,1) window("计算器").WinButton("+/-").Click Next '随机添加正负数 num1=window("计算器").WinEdit("Edit").GetROProperty("text") '记录第一个数字 str2 = randomnumber(1,4) select Case str2 'str 为计算第 1 次运算 双目运算 case "1" window("计算器").WinButton("+").Click case "2" window("计算器").WinButton("-").Click case "3" window("计算器").WinButton("*").Click Case "4" window("计算器").WinButton("/").Click End Select p2 = randomnumber(1,5) For i=0 to p2-1 '随机产生的第二个数
window("计算器").WinButton("num").Click next For i=0 to randomnumber(0,1) window("计算器").WinButton(".").Click Next For i=0 to randomnumber(0,4 -p2) window("计算器").WinButton("num").Click Next For i=0 to randomnumber(0,5) step 1 window("计算器").WinButton("+/-").Click Next num2=window("计算器").WinEdit("Edit").GetROProperty("text") '记录第二个数 '确定除数的是否为零 If str2 =4 and num2=0 Then msgbox "除数不能为零!!" End If window("计算器").WinButton("=").Click num3=window("计算器").WinEdit("Edit").GetROProperty("text") num3 =cdbl(num3) '记录计算结果 '检验计算是否正确 num1=cdbl(num1) num2=cdbl(num2) If str2=1 and (num1+num2-num3)>0.001 Then else If str2= 2 and ((num1- num2 )-num3)>0.001 Then msgbox "减法运算出错" Reporter.ReportEvent micFail, "计算出错", "" else If str3 = 3 and( (num1* num2) -num3)>0.001 Then msgbox "乘法运算出" else If str2=4 and( (num1/num2) -num3) >0.001 Then msgbox "除法运算出错" end if end if end if End If '记录第二次运算的结果 Select Case str2 Case "1" print num1 &"+"& num2&"=" &num3
Case "2"print num1 &"-"& num2 &"=" &num3 Case "3" print num1 &"*"& num2 &"=" &num3 Case "4"print num1 &"/"& num2 &"=" &num3 End Select wait(2) window("计算器").WinButton("C").Click window("计算器").Close 方法二: action=1 While action < 10 If Window("计算器").Exist Then else SystemUtil.Run "C:\WINDOWS\system32\calc.exe" End If B1=randomnumber(1,6) P1=randomnumber(1,B1+1)'小说点位置(从左至右) If P1=1 Then B1=B1-1 End If For i=1 to B1 If i=P1 Then Window("计算器").WinButton(".").Click End If Window("计算器").WinButton("rand_num1").Click next '随机正负 ZF1=randomnumber(0,1) If Window("计算器").WinButton("+/-").Click End If ZF1 =1 Then num1=Window("计算器").WinEdit("Edit").GetROProperty("text") print "num1="&num1 '随机运算符 oper=randomnumber(0,3) Select Case oper Case 0 Window("计算器").WinButton("+").Click Case 1 Window("计算器").WinButton("-").Click
Case 2 Window("计算器").WinButton("*").Click Case 3 Window("计算器").WinButton("/").Click End Select If oper=0 Then print "oper:+" elseif oper=1 then print "oper:-" elseif oper=2 then print "oper:*" elseif oper=3 then print "oper:/" End If B2=randomnumber(1,6) P2=randomnumber(1,B2+1) If P2=1 Then B2=B2-1 End If For i=1 to B2 step 1 If Then Window("计算器").WinButton(".").Click i=P2 End If Window("计算器").WinButton("rand_num2").Click Next '随机正负 ZF2=randomnumber(0,1) If ZF2=1 Then Window("计算器").WinButton("+/-").Click End If num2=Window("计算器").WinEdit("Edit").GetROProperty("text") print 'Reporter.ReportEvent micPass, "第二个随机产生的值", num2 "num2=" &num2 O=(num2=0 and oper=3) (O=true) Then If print "除数不能为 0" end if if(O=false) then Window("计算器").WinButton("=").Click result=Window("计算器").WinEdit("Edit").GetROProperty("text") print "result=" &result
num1=CDbl(num1) num2=CDbl(num2) result=CDbl (result) If oper =0 Then x=num1+num2 abs(result-x) >0.0001 Then If print "加法错误!" else print "加法正确!" End If End If If oper =1 Then x=num1-num2 If abs(result-x) >0.0001 Then print "减法法错误!" else print "减法正确!" End If End If If oper =2 Then x=num1*num2 If abs(result-x) >0.0001 Then print "乘法错误!" else print "乘法正确!" End If End If If oper =3 Then x=num1/num2 If abs(result-x) >0.0001 Then print "除法错误!" else print "除法正确!" End If End If End If Window("计算器").WinButton("C").Click action=action+1 Wend print "一共进行:"&action&"次测试"
方法三: For j = 1 to 10 If window("计算器").Exist(2)Then else SystemUtil.Run "E:\Tool of Testing\QTP10.0\calc.exe" End If '随机选择 1 到 4 当中任意一个数 rand_num_lenth1 = RandomNumber(1, 6)'随机选择第一个数的位数,不大于 6 位 print "rand_num_lenth1="&rand_num_lenth1'以文本形式显示出来 rand_num_lenth2 = RandomNumber(1, 6)'随机选择第二个数的位数,不大于 6 位 print "rand_num_lenth2="&rand_num_lenth2 rand_num = RandomNumber(1,4) print "rand_num="&rand_num rand_num_point1 = RandomNumber(0,rand_num_lenth1+1)'小数点所在的数值位,0 代表没有 小数点 print "rand_num_point1="&rand_num_point1 rand_num_point2 = RandomNumber(0,rand_num_lenth2+1)'小数点所在的数值位,0 代表没有 小数点 print "rand_num_point2="&rand_num_point2 rand_num1 = RandomNumber(0,1)'0 表示不点击正负号,数值位正数,1 表示点击正负号,数 值位负数 print "rand_num1="&rand_num1 rand_num2 = RandomNumber(0,1)'0 表示不点击正负号,数值位正数,1 表示点击正负号,数 值位负数 print "rand_num2="&rand_num2 if rand_num_lenth1=1 then rand_num_lenth1= rand_num_lenth1-1 end if For i = 1 to rand_num_lenth1 If rand_num_point1 = i Then window("计算器").WinButton(".").Click End If window("计算器").WinButton("rand_num_action").Click'获得第一个随机数 Next If rand_num_point1= i+1 Then window("计算器").WinButton(".").Click End If If rand_num1 = 1 Then window("计算器").WinButton("+/-").Click End If rand_num_get1 = window("计算器").WinEdit("Edit")GetROProperty("text")'获取输入的第一个 数
randomnumber1 = Cdbl (rand_num_get1) print "randomnumber1="&randomnumber1 '将获取的字符串强制转换为双精度字符 ' rand_num = 4 选择除法运算法则 If rand_num = 1 Then window("计算器").WinButton("+").Click'四则运算加法 End If If rand_num = 2 Then window("计算器").WinButton("-").Click'四则运算减法 End If If rand_num = 3 Then window("计算器").WinButton("*").Click'四则运算乘法 End If If rand_num = 4 Then window("计算器").WinButton("/").Click'四则运算除法 End If '********************************************* 调试被除数为 0 ' window("计算器").WinButton("0").Click '********************************************* For i = 1 to rand_num_lenth2 If rand_num_point2 = i Then window("计算器").WinButton(".").Click End If window("计算器").WinButton("rand_num_action").Click'获得第二个随机数 Next If rand_num_point2= i+1 Then window("计算器").WinButton(".").Click End If If rand_num2 = 1 Then window("计算器").WinButton("+/-").Click End If rand_num_get2 = window("计算器").WinEdit("Edit").GetROProperty("text")'获取输入的第二个 数 randomnumber2 = Cdbl (rand_num_get2) '将获取的字符串强制转换为双精度字符 print "randomnumber2="&randomnumber2
window("计算器").WinButton("=").Click'数据验证 If rand_num = 4 and rand_num_get2 = 0 Then '如果被除数是 0,这提示被除数不能为 0 print "被除数不能为 0 " window("计算器").Close else rand_num_get3 = window("计算器").WinEdit("Edit").GetROProperty("text")'获取输入的第三个 数 randomnumber3 = Cdbl (rand_num_get3) '将获取的字符串强制转换为双精度字符 print "randomnumber3="&randomnumber3 If rand_num = 1 and (randomnumber1+randomnumber2)-randomnumber3 > 0.0001Then print "加法出错" End If If rand_num = 2 and (randomnumber1-randomnumber2)-randomnumber3 > 0.0001Then print "减法出错" End If If rand_num = 3 and (randomnumber1*randomnumber2)-randomnumber3 > 0.0001Then print "乘法出错" End If If rand_num = 4 and (randomnumber1/randomnumber2)-randomnumber3 > 0.0001Then print "除法出错" End If window("计算器").WinButton("C").Click window("计算器").Close End If Next 登录:用户名进行参数化;test01,小于三位的用户名;test02;添加场景恢复机制 飞机处添加位图检查点 时间不变;选择出发地之前 flight 不可用,选择目的地后 flight 才可用 出发地,目的地,航班进行随机选择 用户名要和登录名一致 随机 1-10 张票 票价和总价进行校验(总价=单价*票数)文本检查点 仓位校验(商务=经济*2,头等=经济*3) insert 的同步点(while 语句) update 判断票号是否是数字 查票:清空,输入票号(刚刚订的票) 计算每个 action 的运行时间
分享到:
收藏