moguikumogui 发表于 2009-4-14 10:57:35

QTP中循环次数问题

利用DATA TABLE参数化的时候,如果我把参数化的东西放在GLOBAL里面,系统会运行多一次(例如:我设置了两行,可系统却会运行三次,当然第三次就会报错了),假如说是我放在某一个ACTION里面的话,系统就只会运行一次(当然我设置的不是一行),请问有人知道这是为什么吗?
备注:在TEST SETTINGS-RUN-DATA TABLE ITERATIONS里面我选择的是"RUN ON ALL ROWS"

[ 本帖最后由 moguikumogui 于 2009-4-14 10:58 编辑 ]

dreamever 发表于 2009-4-14 11:27:50

看你的数据表中最后一行是不是空行;
或者看你的脚本中,是否有控制读取行的代码,导致脚本读取时下标越界了。

moguikumogui 发表于 2009-4-14 14:52:22

回复 2# 的帖子

最后一行是空行?那个DATA TABLE里面不是有好多好多行吗?
我是只写上面的二行啊,难道下面那些算是空行???
脚本中也没有控制读取行的代码啊

hsjzfling 发表于 2009-4-14 15:23:49

如下图,Global Sheet中实际是有三行数据(第三行是空数据,注意看黑色的横线),如果选择run all rows就会循环三次。
如果需要删除掉空行,可以右键点击那个行号 3 ->Edit->Delete

moguikumogui 发表于 2009-4-14 15:58:50

回复 4# 的帖子

那如果把你这个NAME放到ACTION1里面,那它的行数是不是必须要和GLOBAL里面的行数一致啊,要不然系统只会运行按照GLOBAL的行数运行吗?

jxt 发表于 2009-4-14 16:58:58

写个for循环就解决了

jenvee 发表于 2009-4-14 17:05:44

原帖由 hsjzfling 于 2009-4-14 15:23 发表 http://bbs.51testing.com/images/common/back.gif
如下图,Global Sheet中实际是有三行数据(第三行是空数据,注意看黑色的横线),如果选择run all rows就会循环三次。
如果需要删除掉空行,可以右键点击那个行号 3 ->Edit->Delete
50905
看黑线,有黑线就说明这行数据为空,尽量不用全局变量

dreamever 发表于 2009-4-14 17:10:16

原帖由 moguikumogui 于 2009-4-14 15:58 发表 http://bbs.51testing.com/images/common/back.gif
那如果把你这个NAME放到ACTION1里面,那它的行数是不是必须要和GLOBAL里面的行数一致啊,要不然系统只会运行按照GLOBAL的行数运行吗?
你可以设置读取的是global sheet还是local sheet

moguikumogui 发表于 2009-4-15 10:44:02

回复 8# 的帖子

我设置的是LOCAL SHEET,但是如果其中有2行的话(GLOBAL SHEET是空的),那系统只会运行一次,请问这是怎么回事啊?如果GLOBAL SHEET有两行的话,那系统就可以运行两次,运行的次数是由GLOBAL SHEET的行数决定的吗?

moguikumogui 发表于 2009-4-15 11:17:49

回复 7# 的帖子

请问为什么尽量不用全局变量呢?这里面有什么需要注意的吗?

moguikumogui 发表于 2009-4-15 12:21:09

QTP中循环次数问题

搞定了,谢谢高手们的帮忙啊,是写了一个FOR循环,按照某一个ACTION中的DATA TABLE行数进行循环,是这样的吧?
反正我想要的效果已经实现了,如果大家有什么好的方法,也敬请大家共享出来,谢谢了!
页: [1]
查看完整版本: QTP中循环次数问题