51Testing软件测试网R8H
G0P-UC 51Testing软件测试网9B6t(lg ^:b2HG
51Testing软件测试网W_j8alce5NC 新年第一天上班,没啥事,有幸拜读了某人的文章,http://bbs.51testing.com/thread-87074-1-1.html;51Testing软件测试网%p.m;{3Tnk Yw;?H0B
51Testing软件测试网8BFib9m|其中这段:51Testing软件测试网e#u"l:q;w
51Testing软件测试网Z(_8["y-[ox{2y
E理解了TO的含义,你就可以自由的用SetTOProperty()定义TO,以灵活的操作RO51Testing软件测试网'^wX8X.W-{
0jw/kv:q/aAp0比如有个测试任务,窗口上有很多待检查的记录,每条记录右边都有一个Check按钮,用来检查各条记录。51Testing软件测试网.]+O w9aNcqv
记录个数不定,所以Check按钮个数也就不定,只有一个Edit显示记录个数。51Testing软件测试网a$Q[M1lK$R1y
我们要对每条记录进行检查,也就是要点击每个Check按钮。
n SO$I/a
Lh|0但是Check按钮个数不定,不好录制,而且个数可能也很多(上百个),即使能一一录制,那也很麻烦。51Testing软件测试网t[nH HcHr:V
51Testing软件测试网)v4O6lSu[[3B&g:S
那我有一个好办法,只录制一个按钮对象,它设有两个特征属性 label=OK, index=0
%]1zY~
u.m8ER$b0然后用下面的脚本,就可以完成测试51Testing软件测试网;g%|IL9G
,c#k$T$A|n'UV3[i%L0buttonNum = CInt(JavaWindow("Test").JavaEdit("Record Num").GetROProperty("value"))51Testing软件测试网Oo]\'Y
For buttonIndex = 0 to buttonNum - 1
)t@.c8x J#C0 JavaWindow("Test").JavaButton("Check").SetTOProperty("index", buttonIndex)51Testing软件测试网N8l(OF,P.MD
JavaWindow("Test").JavaButton("Check").Click51Testing软件测试网rt7Un$rw*Ej"F,B7P
Next
i%B$P{SIr051Testing软件测试网QAf/e:jHL
+mR&A._ b
C?&aVq0亲手试验了一下,如果按它这么做,首先你这段脚本会运行不通过,因为SetToProperty是有返回值的;
BqH-d%VQo051Testing软件测试网T,D!mQ9w然后这样只会点可能是最后一个(不确定)Check Button.根本不能达到需求;
2DZ,{/{;k9pj(S
`051Testing软件测试网'Q6r4a}`1YH)o然后这句根本就不用,JavaWindow("Test").JavaButton("Check").SetTOProperty("index", buttonIndex)51Testing软件测试网/?
Z)^?E-Ij+v
51Testing软件测试网G)T]3kG;@
3H9FG2p&p$f4U;M6lo
K0多此一举,还摆在精华区蛮久呢,看来技术真是用来崇拜的!51Testing软件测试网(Sokm D)v4Sf:ws
51Testing软件测试网1IGy%n$E I^正确的版本,像这样:51Testing软件测试网3rSY
h_X*b:{
51Testing软件测试网0X-yu&s1P+GJ ~For buttonIndex = 0 to 2
.|h1}&m9yn6P:Wh/s0 'r = swfwindow("Form1").SwfButton("BT").SetTOProperty("index",buttonIndex)
"Z/b*yDS0 swfwindow("text:=Form1").SwfButton("text:=BT","index:="&buttonIndex).Click51Testing软件测试网,[nu[ywMC/E
Next51Testing软件测试网!J XP)L
_1BQ-}#K
~)m5jKd0我这个是我自己写的测试程序,窗口上有三个按钮;点一下就会往某个文本里写入一行标记,以此来模仿它;51Testing软件测试网(L s'~6S`-z
x0Sz\R"z9?
W4S$e0听RainLiu说过Index属性很牛比呢,果真是有点。Index似乎是惟一的,也就是说可以惟一的对应到一个对象;
\-JuuR0