QTP DataTable 问题

我写了一个测试计算器的程序随机生成一个2~3位数然后除以0去看结果如下可是现在出了这么个问题当i从1~3时结果跑了9编先写3行然后从头开始又是3行就覆盖了原来的然后又是3... 我写了一个测试计算器的程序
随机生成一个2~3位数 然后除以0 去看结果
如下
可是现在出了这么个问题 当i从1~3时 结果跑了9编 先写3行 然后从头开始又是3行 就覆盖了原来的 然后又是3行 一共(遍
当从1~2是 就是4编
不知道问什么?大神来解释……如何能让他正常的就跑3遍

Dim i

For i=1 to 3
DataTable.SetCurrentRow(i)
arithmetic()

Next
Window("计算器").Close

Function arithmetic() '完成一次除法

intputOpr1()
Window("计算器").WinButton("/").Click
Window("计算器").WinButton("0").Click
Window("计算器").WinButton("=").Click
DataTable("B", "Global")=Window("计算器").WinEdit("Edit").GetROProperty("text")

Window("计算器").WinEdit("Edit").Check CheckPoint("Edit")
Window("计算器").WinButton("C").Click

End Function

Function intputOpr1() '输入被除数
Dim op1,i
Set op1=description.Create()
For i=1 to 3
if(i=3 and Window("计算器").WinEdit("Edit").GetROProperty("text")=0 ) then '如果前两次输的都是0 则第三次就不能再输0了
op1("text").value=randomnumber(1,9)
else
op1("text").value=randomnumber(0,9)
End If

Window("计算器").WinEdit(op1).Click
Next
DataTable("A", "Global")=Window("计算器").WinEdit("Edit").GetROProperty("text")
End Function
展开
 我来答
hsjzfling
2011-03-07 · TA获得超过284个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:396万
展开全部
因为你的变量值是保存在Global sheet中,而你的test->settings->run中应该是默认选中的run on all rows,即global sheet中有几行数据,则脚本循环运行几次,而你在脚本中又写了一套循环,结果可想而知咯.
可以将settings中的设置改成只跑一个循环,当然也可以删除掉脚本中自己写的循环
百度网友d70781e3d
2011-03-05 · TA获得超过152个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:180万
展开全部
用datatable就不用for循环了,datatable自己就可以循环的。

你用了for循环,又用了datatable,就是循环套循环了,自然就是这样的结果。

直接把
For i=1 to 3
DataTable.SetCurrentRow(i)
去掉就可以。
更多追问追答
追问
去掉我怎么循环的?
追答
qtp会根据datatable的数据进行循环的。

datatable有几条数据,就会循环几次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
litianmi1986
2011-03-05 · TA获得超过201个赞
知道答主
回答量:60
采纳率:0%
帮助的人:61.1万
展开全部
除以0无意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式