51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] QTP9.2 Data Table参数的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-9 10:51:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前段时间用QTP测试一个项目,其中在两个字段中加个FOR循环,并且其中一个字段参数化。但是发现有的时候,列中的参数都执行完毕了,可是还在继续FOR循环,并且输入的都是空值。开始以为是 FOR循环的问题,但问题并不在这里。昨天又试了一些数据,发现问题竟然出现在Data Table中。
Dim i,j
j=Datatable.GetRowCount
For i=1to j
        Datatable.SetCurrentRow(i)
        
Browser("XXXX").Page("XXX").Frame("mainFrame_detail").WebEdit("WebEdit_2").Set DataTable("test", dtGlobalSheet)
Browser("XXXX").Page("XXX").Frame("mainFrame_detail").WebButton("确认").Click
Next

目前的问题:
1、假设我对字段A进行参数化,有5个参数值,运行OK。然后我更换参数,只有3个参数值,运行结果为:
   a)3个参数顺利输入;
   b)3个参数输入后,没有跳出FOR循环,而是输入空值,点击确认;再输入空值,点击确认。然后跳出FOR循环
   ==》所以我的疑问是:为什么要再走两次空值的循环?(这个我已经验证过了,加入我第一次参数10个值,第二次参数3个,那么FOR循环时就会出现7次的输入空值)
2、Data Table中,在没有对第一行输入值的情况下,就不能对后面的行添加值?
   如下图,之前我在test里参数了16个值,然后我只能对17行输入值,无法在18行输入。这是QTP限制的?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-6-9 11:10:45 | 只看该作者
你的第一个问题的原因,是你虽然清白的数据,但是最好能删除一下下面的空行,因为datatable认为你存在数据的

你的第二个问题应该与当前的这段脚本没有关系吧,一个是读取,一个是写入datatable呀

[ 本帖最后由 今天有雾 于 2010-6-9 11:12 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-6-9 11:33:04 | 只看该作者
在取单元格数据的时候判断是否是空值,如果空值跳出循环
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-6-9 13:53:07 | 只看该作者

回复 2# 的帖子

1、如何删除下面的空行呢?
2、第二个问题是和脚本没关系,我就是问问是不是QTP就的这样设计的,还是我的版本有问题
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-6-9 14:23:39 | 只看该作者

回复 3# 的帖子

多谢,这个办法可行!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-6-9 15:42:12 | 只看该作者
和excel中使用 ActiveSheet.UsedRange.Rows.Count 是一个意思,你把数据删除了,但是它会认为你在里面放了一个空白
你如果把之前写过数据的行删除,就不会有这个问题了
当然,3楼这种方法是一定要做的,这个才是好习惯。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-6-10 14:21:27 | 只看该作者
求具体删除空白行方法……
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-6-10 17:01:45 | 只看该作者
你怎么删除,就是选中那几行空行后,点击del键就可以了,不知道你是不是这个问题了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-6-10 17:02:31 | 只看该作者
第二个问题跟QTP没有关系,你可以使用程序实现的,具体的例子可以从help帮助文档中寻找
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-6-11 16:11:22 | 只看该作者
删除空行用CTRL+K或者用CTRL+X
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-6-18 14:39:25 | 只看该作者
回复第2个问题:
据我研究QTP帮助文档所知,第2个问题确是QTP设计就是这样的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 02:03 , Processed in 0.078173 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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