Randall 发表于 2008-5-28 21:59:39

Global和local sheet循环次数的区别

http://bbs.51testing.com/thread-14818-1-1.html
global 和 local 的区别

global 是全局的!有几行数据程序就要回放几次!!不能重新设置!!
local 是局部的!有几行数据action 就要回访几次!!
设置action的重复次数的操作:反击action,选择action call property,即可进行选择.
下面有几种情况:
1.当global 有不止一行的数据,action call property->Run On all Rows
程序每次运行时,action中的每行都要执行
2.当global 有不止一行的数据,action call property->Runone iteration only
而且global的行数>action的行数,当action执行到最后一行后,不管此时global 的行数为几,下次回放时action都执行最后一行!
如果global的行数<action的行数,action就执行不到最后一行
3.action call property->Run from rows to rows,就结合上面所说的理解吧!!

以上是在精华版的一个话题
自己在qtp上玩了一把, 发现好像跟上面仁兄说的有点出入:
具体例子如下:Global sheet 4行:值分别为 a, b, c, d   Action sheet为两行: 值为 1, 2
代码为:
msgbox datatable.RawValue("A", Global)
msgbox datatable.RawValue("A", "Action1")
1.配置action call property->Run On all Rows 输出结果为a, 1, b, 2, c, 空格, d, 空格.
2. 配置action call property->Runone iteration only输出结果为a, 1.
调整数据:Global sheet 2行:值分别为 a, b    Action sheet为4行: 值为 1, 2, 3 ,4
结果为:
1.配置action call property->Run On all Rows 输出结果为a, 1, b, 2
2. 配置action call property->Runone iteration only输出结果为a, 1.

个人认为:
1.action call property->Run On all Rows
程序每次运行时,如果global的行数>action的行数,则后面action取空. global的行数<action的行数, action超出行数变量不会被取到。
2.action call property->Runone iteration only
程序运行一次且只取第一行数据。
大家认为呢

hsjzfling 发表于 2008-5-29 00:22:28

你只要抓住一点就可以了
action call property->Run On all Rows
这个Rows是指的是Global Sheet的Row,循环多少次,只看Global Sheet的行数,以它的行数变化而变化

dog487 发表于 2008-9-2 15:58:44

回复 1# 的帖子

正好遇到这个问题,看了楼主的解释,很详细。
thanks
页: [1]
查看完整版本: Global和local sheet循环次数的区别