51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2793|回复: 10
打印 上一主题 下一主题

[原创] QTP:怎么样才能使循环里面套循环

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-3-6 17:41:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请前辈帮忙:我录制的QTP已经action分割循环啦,怎样才能让这几个action多次循环,并需要改变其中一个action的参数
如:
                                           打开同一文件
                            |
                                            action循环(改变的)
                                                        |
                                            保存为不同名字

重复做以上动作,保存不同文件,QTP可以实现的吗
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-3-6 18:02:03 | 只看该作者
发现了一个死办法,把前面的这些流程复制,然后改变ACTION里面的参数
如果谁有好办法,请留言哦
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-3-6 18:02:50 | 只看该作者
发现了一个死办法,把前面的这些流程复制,然后改变ACTION里面的参数
如果谁有好办法,请留言哦
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-3-6 18:11:43 | 只看该作者
当然可以了~~虽然完全没必要为了这一小操作单独建个Action~~
最简单的方法,写个Function比如
Function FileSaveAs(sourceFile,targetFile)
        Set fso=CreateObject("Scripting.FileSystemObject")
        Set MyFile=fso.GetFile(sourceFile)
        MyFile.Copy targetFile
        Set MyFile=Nothing
        Set fso=Nothing
End Function

然后写个For循环来调用这个Function就好了~比如
For i=1 To 10
        Call FileSaveAs("C:\test.txt","C:\test"&i&".txt")
Next
这样做比较好维护些~否则一堆杂乱无章的Action堆在那里,关系又不明不白的,就算自己不晕那看的人也晕了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-3-6 22:02:38 | 只看该作者
LZ的,能跟我解释下这个代码,每条是什么意思吗?这个是VB语言吗?我怎么看不懂!!!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-3-7 10:51:06 | 只看该作者
sourceFile为打开的文件,targetFile为保存的文件,
然后循环这一动作
是不是这样呀
如果是这样,问题是我的 action循环(改变的)  这个 分割的action每次循环参数是改变的
怎样才能让他每次都改变参数然后又循环

我以上的已经分割成3个action了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-3-7 11:36:53 | 只看该作者
就当是你在熟悉使用Action吧。。。。。。
没搞明白你的 action循环(改变的) 是什么东西,有什么功能?分割Action时注意每个Action至少得能完成一个独立的功能或操作~

若你是要练习Action,那么不妨将实现文件另存为功能的Action(叫它FileSaveAs吧)作为Reusable Action,然后在MainAction中来调用它,只要在MainAction中写
For iRow=1 To DataTable.GetSheet(1).GetRowCount
        RunAction "FileSaveAs",0,DataTable(1,1) '假设GlobalSheet的第一列就储存你要另存为的文件名
Next
在FileSaveAs Action中有一个输入参数用来接收变化的文件名参数,然后去执行另存为操作,如此即可
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-3-7 16:12:54 | 只看该作者
Window("Rakuform FormEditor(可変帳票)").Window("111").WinObject("Afx:00400000:8:00010011:000000").Click DataTable("p_X", dtLocalSheet), DataTable("p_Y", dtLocalSheet), micRightBtn
Window("Rakuform FormEditor(可変帳票)").WinMenu("ContextMenu").Select "関数設定(F)"
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").WinEditor("条件").Type DataTable("t_if", dtLocalSheet)
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").WinEditor("条件が真の場合の動作").SetCaretPos 0,0
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").Activate
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").WinEditor("条件が真の場合の動作").Type DataTable("t_true", dtLocalSheet)
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").WinEditor("条件が偽の場合の動作").SetCaretPos 0,0
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").Activate
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").WinEditor("条件が偽の場合の動作").Type DataTable("t_false", dtLocalSheet)
Window("Rakuform FormEditor(可変帳票)").Dialog("関数設定").WinButton("OK").Click

上面的还不是很懂,以上的为 action循环(改变的) ,这个ACTION里面有循环
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-3-7 17:07:40 | 只看该作者
汗。。。原来说的都不是一回事。。。
不过在7楼写的方法可以让你在一个Action中循环调用其它的Action,你参考下好了,不懂的可以查帮助,帮助中都有的
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-3-7 17:13:17 | 只看该作者
可以help中找找RunAction 看看
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-3-7 17:27:41 | 只看该作者
都是英文,
感谢你们的帮忙,这几天问了两个问题,收获真不少
那个文件复制发现了专家模式太神奇拉,继续努力
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-26 02:17 , Processed in 0.083791 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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