51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2497|回复: 9
打印 上一主题 下一主题

[原创] data table中的循环问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-7-1 16:52:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果在global中有3行数据,如果我录制的动作是“登陆-添加”,3行数据是待添加数据。
1.不写任何循环语句,QTP本身会循环3次,即“登陆-添加”,循环3次,加入3组数据。
2.如果在“添加”中增加循环,则添加3次数据。此后又重新登陆然后开始添加第二条数据……
Dim i,cout
cout=datatable.GetSheet("Global").getRowCount
i=1
Do while i< cout+1
        datatable.setCurrentRow(i)
**********中间步骤省略****************
i=i+1
Loop

问题是怎么设置能让它不再重复新增第二条数据??我知道如果放在local sheet中不会出现这种问题,不过global中的怎么解决呢??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-7-1 17:11:39 | 只看该作者
即然这样,你可以放在LOCAL SHEET中阿.何必自找烦恼呢?
现在我才知道为什么GLOBAL和LOCAL SHEET中的区别,各有各的好处!
按不同的需要选择不同的录制方法!
能达到目的,你还想它怎么样呢?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-7-1 17:43:43 | 只看该作者

我碰到一个这样的问题

按xingxing79 的做法,我把add,modify,delete等动作写入了case中,然后将add等动作放入global中,执行的时候自动调用。详情:http://bbs.51testing.com/viewthread.php?tid=13946&fpage=1

她当时是建议所有的数据都放在global里,我也觉得这样比较简洁,因为新增和修改的数据相同的字段在sheet中可以共用一列。后来问题来了,如果出现这样的输入数据,见附件图,假设是一个选课系统,每人可以选1~N门课
如果新增一条数据对应N行,N不确定。2,3行是需要循环取值的,显然在global中取完了2行还会再回去,出现上面的问题

如果只留action在global,其他在local,则新增,修改,删除每个动作需各建一个sheet,新增2次则需2个新增sheet,因为local循环一次后会跳出,再次返回原来的计数可能已经没了。如果这样的话就太麻烦了,如果新增10条,晕。

以上是我自己乱想的,有些地方可能不对,请大家指点指点:)

[ Last edited by michelle_happy on 2005-7-1 at 17:44 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-7-4 09:56:46 | 只看该作者
你可以设置一下,不要让QTP在globalsheet中有多行数据的时候 运行多次嘛。
呵呵。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-7-4 09:57:32 | 只看该作者
QTP plus中有个例子,不知道大家看过没?
我认为,对于理解如何录值脚本有一定的帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-7-4 10:27:09 | 只看该作者
Originally posted by lovetest6 at 2005-7-4 09:57 AM:
QTP plus中有个例子,不知道大家看过没?
我认为,对于理解如何录值脚本有一定的帮助。

版主没看过你说的那个例子,你贴出来让大家都学习学习。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-7-4 11:27:45 | 只看该作者
这个是在QTP8.2里面的,如果你有8.2的话就可以看到,
首先先安装QUICKTEST PLUS SETUP,然后就可以看到的啦

多谢谢LOVETEST6提醒!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2005-7-4 13:30:11 | 只看该作者
问题已解决,设置run为run one iteration only,然后自己写循环语句控制。
这样其实放在global和放在其他sheet里面就没什么区别了。看来xingxing79的方法还是适用的。呵呵

QTP plus还真是没安装,今早装了一下,发现里面挺多有用东西的。好好学习!!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-7-4 13:58:33 | 只看该作者
多谢QA_BAY帮助我补充哦,最近脑子乱,总是丢三落四的,没给大家说清楚。

里面的例子有看不清楚的,建议读一下help哦:)
比如有很多以前大家常会问到的一些代码等等,在里面都能找到很好的说明。




to:lzz里面的东东很多,贴出来恐怕不大方便了。
你先看看吧,有需要探讨的再贴上来,大家看看。:)
如果还找不到,可以加我的msn询问。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-7-4 14:20:59 | 只看该作者
Originally posted by lovetest6 at 2005-7-4 01:58 PM:
多谢QA_BAY帮助我补充哦,最近脑子乱,总是丢三落四的,没给大家说清楚。

里面的例子有看不清楚的,建议读一下help哦:)
比如有很多以前大家常会问到的一些代码等等,在里面都能找到很好的说明。

...

谢谢,以前没装qtp plus,所以在help中没找到那些。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-14 15:42 , Processed in 0.076398 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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