QTP9.2 Data Table参数的问题
前段时间用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限制的? 你的第一个问题的原因,是你虽然清白的数据,但是最好能删除一下下面的空行,因为datatable认为你存在数据的
你的第二个问题应该与当前的这段脚本没有关系吧,一个是读取,一个是写入datatable呀
[ 本帖最后由 今天有雾 于 2010-6-9 11:12 编辑 ] 在取单元格数据的时候判断是否是空值,如果空值跳出循环
回复 2# 的帖子
1、如何删除下面的空行呢?2、第二个问题是和脚本没关系,我就是问问是不是QTP就的这样设计的,还是我的版本有问题
回复 3# 的帖子
多谢,这个办法可行! 和excel中使用 ActiveSheet.UsedRange.Rows.Count 是一个意思,你把数据删除了,但是它会认为你在里面放了一个空白你如果把之前写过数据的行删除,就不会有这个问题了
当然,3楼这种方法是一定要做的,这个才是好习惯。 求具体删除空白行方法…… 你怎么删除,就是选中那几行空行后,点击del键就可以了,不知道你是不是这个问题了 第二个问题跟QTP没有关系,你可以使用程序实现的,具体的例子可以从help帮助文档中寻找 删除空行用CTRL+K或者用CTRL+X 回复第2个问题:
据我研究QTP帮助文档所知,第2个问题确是QTP设计就是这样的。
页:
[1]