|
本帖最后由 canzhu 于 2011-4-17 21:42 编辑
用QTP9.5 进行“计算器的测试”(C:\WINDOWS\system32\calc.exe)
将第一个数字按键(第一个加数)参数化为数据表plusParameters(分别为1,2,3,4)
第二个加数为2。
加后的结果,被作为输出检查点"Edit_3"输出到数据表EditOutput_Text_out中。 这时我发现它后面多了一个点".",也就是说相加后值如果为3, 则EditOutput_Text_out里的是"3."。
而期望值存于数据表C中(分别是3,4,5,6), 用来判断运算结果是否正确。
问题:
1)此代码运行时循环4次,其中输出到EditOutput_Text_out的值经常随机的变为"."(有时一次有时两次)。正常的结果应该是(3.,4.,5.,6.,)
2)判断结果的IF语句运行也很奇怪:有时明明正确的结果,也打印MsgBox"Wrong!"(这种情况也是随机出现的)
百思莫解。
代码如下:
Option Explicit
Dim buttonString,buttonText,aString
SystemUtil.Run"C:\WINDOWS\system32\calc.exe"
wait 1
buttonString= datatable("plusParameters", dtGlobalSheet) ’从数据表取出第一个加数,然后加上双引号
buttonText =""""&buttonString&""""
Window("Calculator").WinButton(buttonText).Click ’第一个加数
wait 1
Window("Calculator").WinButton("+").Click
wait 1
Window("Calculator").WinButton("2").Click’第二个加数为2
wait 1
Window("Calculator").WinButton("=").Click
wait 1
Window("Calculator").WinEdit("Edit").Output CheckPoint("Edit_3") ’检查点Edit_3输出到数据表EditOutput_Text_out中
wait 2
MsgBox datatable("EditOutput_Text_out",dtGlobalSheet)
aString = Cstr(datatable("C",dtGlobalSheet)) + "."
print (aString)
If aString=datatable("EditOutput_Text_out",dtGlobalSheet) Then
MsgBox"Correct!"
else
MsgBox"Wrong!"
End If
Window("Calculator").close() |
|