有没有人帮忙解决一下SetCurrentRow不能正确执行的问题?
在项目中有向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 编辑 ] 顶一下, 除了人为加入Wait,还有什么好一些的解决办法? 不知道你想问什么 结果是异常的,我是想问如何让结果正确?有些cell没有写入任何数据,有些写入了错误的数据。 使用正常速度运行试试,如果可以应该是PC的原因 如果运行在正常模式并且延时设置为1秒的情况下,结果基本上还是正常的。但是由于处理的数据量比较大,延时会导致消耗大量时间,现在求助有没有好的解决办法。从结果看导致异常的原因是SetCurrentRow的问题。 在运行时加入了两行调试信息,运行后发现在写入数据时得到的行值是不正确的。。。
不知道如何打印正确结果了!:Q
有没有人能帮忙解决下?
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 非常奇怪的问题,从程序来看没有任何问题啊!
建议楼主将GlobalSheet里面的数据清了重新做一把,
或者换太机器吧! 我也在怀疑我的系统和QTP的版本了。
不知道在其他类型的机器上是怎么样的,现在组内机器上都是同样的问题。
PS: OS Version MS WIndows2000 professional
QTP Version 9.0 找到了一个好点的办法。可以把这些类似的写值操作写入VBS文件,这样就解决了效率的问题。
页:
[1]