51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

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

[原创] 有没有人帮忙解决一下SetCurrentRow不能正确执行的问题?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-11-27 18:46:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在项目中有向DataSheet连续多次写入值的情况,于是使用了如下代码(仅仅是个抽象):
For numItration = 1 to 1000
        DataTable.GlobalSheet.SetCurrentRow(numItration)
        DataTable("Bug", dtGlobalSheet) = numItration
        DataTable.GlobalSheet.SetCurrentRow(numItration)       
        DataTable("Bug1", dtGlobalSheet) = "A"&numItration
Next
在把Tools->Options->Run中的Run Mode设置为Fast的情况下运行脚本,结果在Result中会看到如下的结果:
235        A308
2        A2
3        A3
4        A4
5        A5
6        A6
7        A7
8        A8
9        A9
10        A10
11        A11
12        A12
13        A13
14        A14
        A15
16        A16
17        A17
18        A18
        A19
20        A20
21        A21
22        A22
        A23
24        A24
25        A25
26        A26
27        A27
28        A28
29        A29
30        A30
31        A31
32        A32
33        A33
34        A34
35        A35
36        A36
37        A37
        A38
39        A39
40        A40
41        A41
42        A42
43        A43
44        A44
45        A45
46        A46
47        A47
48        A48
49        A49
50        A50
51        A51
52        A52
53        A53
54        A54
55        A55
56        A56
57        A57
58        A58
59        A59
60        A60
61        A61
62       
63        A63
64        A64
        A65
66        A66
67        A67
68        A68
69        A69
70        A70
71        A71
72        A72
73        A73
74        A74
75        A75
76        A76
77        A77
78        A78
79        A79
80        A80
81        A81
82        A82
83        A83
84        A84
85        A85
86        A86
87        A87
88        A88
89        A89
90        A90
91        A91
92        A92
93        A93
94        A94
95        A95
96        A96
97        A97
98        A98
99        A99
100        A100

[ 本帖最后由 RayTM 于 2008-11-28 14:46 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-11-28 09:21:30 | 只看该作者
顶一下, 除了人为加入Wait,还有什么好一些的解决办法?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-11-28 10:34:23 | 只看该作者
不知道你想问什么
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-11-28 10:44:39 | 只看该作者
结果是异常的,我是想问如何让结果正确?有些cell没有写入任何数据,有些写入了错误的数据。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-11-28 11:01:22 | 只看该作者
使用正常速度运行试试,如果可以应该是PC的原因
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-11-28 11:16:06 | 只看该作者
如果运行在正常模式并且延时设置为1秒的情况下,结果基本上还是正常的。但是由于处理的数据量比较大,延时会导致消耗大量时间,现在求助有没有好的解决办法。从结果看导致异常的原因是SetCurrentRow的问题。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-11-28 14:06:20 | 只看该作者
在运行时加入了两行调试信息,运行后发现在写入数据时得到的行值是不正确的。。。
不知道如何打印正确结果了!
有没有人能帮忙解决下?
For numItration = 1 to 200
        DataTable.GlobalSheet.SetCurrentRow(numItration)
        Reporter.ReportEvent micDone, DataTable.GlobalSheet.GetCurrentRow, numItration
        DataTable("Bug", dtGlobalSheet) = numItration
        Reporter.ReportEvent micDone, DataTable.GlobalSheet.GetCurrentRow, "A"&numItration
        DataTable("Bug1", dtGlobalSheet) = "A"&numItration
Next
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-11-28 15:52:49 | 只看该作者
非常奇怪的问题,从程序来看没有任何问题啊!
建议楼主将GlobalSheet里面的数据清了重新做一把,
或者换太机器吧!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-11-28 16:40:43 | 只看该作者
我也在怀疑我的系统和QTP的版本了。
不知道在其他类型的机器上是怎么样的,现在组内机器上都是同样的问题。

PS: OS Version MS WIndows2000 professional
QTP Version 9.0
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-12-10 17:47:33 | 只看该作者
找到了一个好点的办法。可以把这些类似的写值操作写入VBS文件,这样就解决了效率的问题。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-21 20:39 , Processed in 0.076012 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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