51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2404|回复: 8
打印 上一主题 下一主题

[求助] 怎样实现Action的循坏和串联?进一步提问~

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-5 17:11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     有这样一个TEST,其中包含3个ACTION:ACTION1,ACTION2,ACTION3。
    现在我要把ACTION1循环两次以后执行ACTION2,ACTION2循坏三次以后执行ACTION3,然后结束TEST。
   注意:这个循坏不是指一般的循坏,而是要去取DATATABLE中的数据,相当于ACTION1在datatable里读了两行,ACTION2在datatable里读了三行,再运行ACTION3结束。因为在设置中设RUN ALL ROWS或者其他是做不到的,请教怎样实现这一功能?本菜鸟非常感谢!!

[ 本帖最后由 topchao 于 2007-12-12 13:39 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-12-5 17:17:41 | 只看该作者
RunAction, Action_Name, AllIterations, .....
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-12-5 20:03:30 | 只看该作者
如果数据都是在localsheet, 那么"因为在设置中设RUN ALL ROWS或者其他是做不到的" 正好是你的解决方案

如果数据在globalsheet中,那么自己写循环,每个循环中用RunAction函数就是
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-12-5 22:44:05 | 只看该作者
在ACTION1中
for i=1 to 2
脚本正文
next

RunAction, Action2, oneiteration

ACTION2中
for i=1 to 3
脚本正文
next

RunAction, Action3, oneiteration
在action3中
n= datatable.getrowcount  '取得当前action的datatable的所有行,可能函数拼写不准确
for i=1 to n
脚本正文
next

解决你的问题
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-12-12 13:29:04 | 只看该作者
多谢楼上几位仁兄!请问QTP里的FOR循环能自动逐行获取DATATABLE里的数据么,怎么我的脚本第二次循环的时候还是取了datatable的第一行数据?难道哪里出错了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-12-12 13:47:52 | 只看该作者

回复 5# 的帖子

多看一下帮助,搞清楚globalsheet和localsheet的区别。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-12-12 16:44:38 | 只看该作者
回复5楼的问题:
用for循环,再每次读取datatable里面的数据的时候先选中datatable里面的行数就行了。以下为一个global table的例子,如果是localtable的话改一下table名字就可以了。
Dim j,k
j=Datatable.GetSheet ( "Global").GetRowCount
for i=0 to j
  Datatable.GlobalSheet.SetCurrentRow ( i )
    k=Datatable.Value ( "column name",[Global] )

不知道有没有解决LZ在5楼提的问题 。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-12-13 11:22:26 | 只看该作者

回复 7# 的帖子

按照编码的角度,楼上的更符合逻辑,关键有这句:Datatable.GlobalSheet.SetCurrentRow ( i )。 但是感觉4楼的意思好像只要那样写就可以自动逐行读取了,是不是QTP的功能阿,但是我试了好像不会阿,俺是新手有点困惑,再试试吧。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-12-13 17:09:08 | 只看该作者
RunAction 后面的Iteration就循环读取DataTable中的一行了,不用自己写循环吧
几次用DataTable 里面的行数来实现
串连可以自己修改QuickTest Script Editor自己修改.其实里面还是用到了
Call RunAction
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 14:35 , Processed in 0.075435 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表