Action call properties 和 test settings中的run的区别
这个两个中的run有什么区别?如图: 主要是依据DataTable来区分:
Action call properties 中的rows是指LocalSheet中的数据行数
test settings 中的rows是指GlobalSheet中的数据行数 一个控制当前action的循环次数,一个则对应整个操作的循环次数 非常感谢 hsjzfling 的回复。不过这个实在是不好记忆,本人更喜欢自己写代码去控制循环 原帖由 majesty 于 2007-8-23 00:03 发表 http://bbs.51testing.com/images/common/back.gif
一个控制当前action的循环次数,一个则对应整个操作的循环次数
majesty 说的对,DataTable实现的效果就是循环! 原帖由 walker1020 于 2007-8-23 01:13 发表 http://bbs.51testing.com/images/common/back.gif
非常感谢 hsjzfling 的回复。不过这个实在是不好记忆,本人更喜欢自己写代码去控制循环
walker2000兄能否把你常用的控制代码帖出来共享一下.我也写了控制代码.可是如果testing中是run all rows的话.控制的还是不好. 如果对DataTable的每行数据的操作都完全一样,那么 可以这样处理:
1, 先得到DataTable的行数
如果使用的是Local Sheet,rowcount = DataTable.GetSheet("Action1").GetRowCount
如果使用的是Global Sheet,rowcount = DataTable.GetSheet("Global").GetRowCount
2, 写循环 对每行的数据进行操作:
For inter = 1 To rowcount
DataTable.SetCurrentRow(inter)
.......
Next
特别说明:由于没有经过测试,所以不敢保证一定没有问题。但大体的思路就是这样的.
[ 本帖最后由 walker1020 于 2007-8-23 23:25 编辑 ] 如果对DataTable的每行数据的操作都不一样,那么 可以这样处理:
1, 先设置DataTable的当前行,如设置第二行为当前行
如果使用的是Local Sheet, DataTable.GetSheet("Action1").SetCurrentRow(2)
如果使用的是Global Sheet,DataTable.GetSheet("Global").SetCurrentRow(2)
2, 然后进行操作就可以了。 注意:在使用每行的数据前,都要先用上面语句设置一下当前行。如
DataTable.GetSheet("Action1").SetCurrentRow(2)
MsgBox("This is line 2")
DataTable.GetSheet("Action1").SetCurrentRow(3)
MsgBox("This is line 3")
说明:此例子只是为了说明SetCurrentRow的用法,没有考虑实用价值。 GetSheet、GetRowCount 和 SetCurrentRow的用法在 QTP的帮助里有详细说明,在此就不累述了。
To zhumingwei
原帖由 zhumingwei 于 2007-8-23 20:14 发表 http://bbs.51testing.com/images/common/back.gifwalker2000兄能否把你常用的控制代码帖出来共享一下.我也写了控制代码.可是如果testing中是run all rows的话.控制的还是不好.
本版主的论坛名是 walker1020, 不是 walker2000!sdlkfj7sdlkfj1
[ 本帖最后由 walker1020 于 2007-8-23 23:32 编辑 ] 原帖由 walker1020 于 2007-8-23 23:24 发表 http://bbs.51testing.com/images/common/back.gif
本版主的论坛名是 walker1020, 不是 walker2000!sdlkfj7sdlkfj1
呵呵,连老大的名字你都敢写错,还想不想在这里混了?! 多谢walker2000.因为我大学有个铁哥们叫"冲动2000"(我们是2000届).所以习惯了,还是叫你walker2000比较亲切.
另外:你上面的代码:1, 先得到DataTable的行数
如果使用的是Local Sheet,rowcount = DataTable.GetSheet("Action1").GetRowCount
如果使用的是Global Sheet,rowcount = DataTable.GetSheet("Global").GetRowCount
2, 写循环 对每行的数据进行操作:
For inter = 1 To rowcount
DataTable.SetCurrentRow(inter)
.......
Next
我也是这样控制的.如果不在testing中设置为run one iteration only,不是按照从第一行到最后一行运行!
回复 4# 的帖子
有点厉害啊。佩服佩服 不错 非常感谢,又学会一招儿。:)
页:
[1]