介绍TestComplete的LLP (Low-Level Procedures)
0q mQ'}%fG+s5[rjv0 51Testing软件测试网VQQ q3W@c] hS
原著者:Terry Young51Testing软件测试网x.m,Zv'e-v
适合程度:初学至进阶
C5L]7QS`p0
2A\~{k0读完此文章之后,读者应该认识:51Testing软件测试网eGj.x7D:l5R
1. LLP(Low-Level Procedures)是什么、它的原理、录制以及编辑的基本方法。51Testing软件测试网W6h.I\#X4a
y
51Testing软件测试网[g!j3q,W]
LLP是什么?
OK
d+if!I,u3go"rf0LLP(Low-Level Procedures)实际上可能比较少机会用,但好奇心强烈的你,难免也按捺不住想知道它是什么。它是低层次的键盘和鼠标的纪录方式。
E4p }kl~0
Z2zZ
C,PF0首先要说我们一般所录制的脚本,它的原理是识别测试对像的控件,录制对控件上键盘和鼠标的动作,回放时就是以这个原理摹拟动作的。
9aP4zF"sj)J8?A0
R#X5A-Zv5^0LLP则是低层次、座标式的纪录方式。它是不识别控件的。它只会纪录鼠标 (点击,移动和滚轮) 和键盘的动作事件,以及事件之间的时间间距。51Testing软件测试网1w9\#FsH(J%c6[
I(]}L)x8y7eEWdu X0也因为此,录制后未经修改的情况下,回放时的速度是和录制时的速度一样的。51Testing软件测试网6J5v"e-uf
u-^"h/j,[ T)N0有什么情况可以利用LLP呢?比如要测试图像软件或者一些基于鼠标/画笔的绘制动作,就适宜利用LLP了。一些以Flash作为平台的互动程序,或者也可以利用LLP的,不过笔者就未曾深入探究过了。51Testing软件测试网&cnL/Db*uvVs
51Testing软件测试网v_:k W*Ax2Q
v(|)_
对于Rational Robot有认识的人士,TestComplete的LLP可以说是类似Robot内的VU吧。不过,TestComplete的LLP在录制后是提供一个可视化的介面来编辑动作的,而不是从编写代码的层面去修改。
#n-m{oAI jf0 51Testing软件测试网 [3JR0?6hm2sq
51Testing软件测试网3e){,y'b*H
i aG"F uX9U1~/@_0
-K,kC&KD,nAZ0如果你的侧边栏未有LLP的话,可以在Project右按> Add > New Item来建立,如上图。51Testing软件测试网]}*_*s2|1p4g
1T.^ u]4}_:r0TestComplete LLP的录制方式51Testing软件测试网}}0zp(d
在TestComplete的工具列按Record按钮,所弹出的小窗口内可以选择录制方式。51Testing软件测试网SD3]PG0Z,g [8j0T
e Su9D%E0 51Testing软件测试网"x taN-s V)Lons\
51Testing软件测试网(OjWEC ^UfPs
J?B%u[!pZ0
X,s v#MH*z'|3sq)p \H%V0前者是基于整个荧幕作为座标基础去录制动作的座标;后者是基于窗口的,需要拖拉动作拖至对像窗口才开始录制。
fs9{ s,] }qM0 51Testing软件测试网NmQW"{
如果你的测试对像固定是全屏的话,或者你的动作牵涉多个窗后的话,应该选择Screen Coordinates比较适合。不过,在另一台机回放的话,要留意电脑荧幕的解像度是否吻合。管理者应该预先为此安排好。51Testing软件测试网\'{)_P.Do,h"@
51Testing软件测试网!p(WS:k+w} e;oR
如果你的测试的动作只是对一个窗口的话,可以考虑使用Window Coordinates的。51Testing软件测试网vG+V3J0k1K4T
v)cN EKe0zg0LLP录制后的编辑51Testing软件测试网5t*uL8B#_+eD z c
B-ksKeMI0
:[ yc+D+G1U-w0
c6~:gi7s2mi0 51Testing软件测试网]A%t.|l%?,I
O
s1cL*~6@9R
O0 51Testing软件测试网)p#Mjl?
录制完成后,首先会自动建立一个函数,Screen Coordinates录制的话,就是生成一句LLCollection1.LLP1.Execute的语句,也就是执行LLP1这个低层次动作纪录了,如上图。51Testing软件测试网!W-X4x] m u
h-`_8d
*w `n#qS0然后,自己再编辑一下何时调用这函数便可。51Testing软件测试网d$x \6i:U6} kc
51Testing软件测试网yC6A?9yuC:Yf
51Testing软件测试网UUEA^ p|
V f^-K,Q%S0
'Il2O?wAE\&x0而当你打开LLCollection1的LPP1的话,就会看到一个可视化的编辑画面,里面详细纪录了Event (鼠标和键盘的动作)、Parameters (鼠标的座标或者键盘的CharCode、以及Delay, ms (动作与动作之间相隔的时间[微秒])。
;E Z)f:_
^sma0 51Testing软件测试网5f4v]*z+Az
点击一行就可以进行微调编辑。
6i
}9j3h9j$h} Z0 51Testing软件测试网5r n1k.o8Nc
如果编辑鼠标动作,可以看到,它能纪录四种鼠标动作,分别是Mouse Down, Mouse Up, Mouse Move和Mouse Wheel (滚轮)。51Testing软件测试网;H1iL{;p2n9a)kwsH
s
51Testing软件测试网d9xP
qhc
如果编辑键盘动作,可以看到,它纪录了Key Up和Key Down两种动作。
;ZwT)FTAS\c${h0 51Testing软件测试网 ydW5e2o,c/d#N*D
^
你还可以对一个或多个动作进行拖拉或者剪贴删除,以编辑动作的次序,或者贴进另一个LLP内。51Testing软件测试网.i9A7?0cA
51Testing软件测试网 ^%qFI-q1[Qv
右按介面的话,有几个值得提及的功能。51Testing软件测试网g4tV0StH)\7N
b\9q`^0
{zN-`"I"P0
W5G!~
h8u0 51Testing软件测试网hrx;e&?0Fb
Add Event是手工地加插鼠标或者键盘的动作。51Testing软件测试网Ba$v
{KIHkvb
51Testing软件测试网2}b@~,vn
如果你如上图一样,预先选择多个动作,Expand/Shrink Time for Selected Events…是可以批次调整动作执行的时间间距的。51Testing软件测试网r`MonGFT
h~9W6qq |0
_*?"c%G/X-m!x kZ051Testing软件测试网'NJZ7B2]$_
51Testing软件测试网H$j3N"U
]j3be}h
G8x$w
以上图为例,假设我原本录制花了大概1分钟完成,以以上的设置,就是将所有动作缩短到10秒内完成,而每个动作所需要的时间是Evenly平均分配的。假如有10个动作,也就是每个动作相隔1秒了。记住,如要缩短,就要推断一个合理的值,否则,你的测试对像也可能未能及时反应过来而间接导致一些不必要的错误。
&UFMty0L%QBk0 51Testing软件测试网)Q8?f!U!|2N-]2K
另外,如果你选择的动作包含鼠标动作的话,你可以用Shift Coordinates for Selected Events…来批次将座标的xy中心点移动。
B!FZ"\)oXS+}0 51Testing软件测试网Y!p[0f.bs!H6_
5RQ:??4s:tKP([6d(w0
*gR r2kl0
8kz9n)].j V2w]q.z3W0以上图为例,就是批次向右水平移动100个pixels (像素),及向上垂直移动100个pixels。
ih6l n C2w:hk0假设原本的第一个动作是Mouse Down X: 150, Y: 250的话,编辑后就会变成Mouse Down X: 250, Y: 150了。
,EB3|/J)]&q:H|_Mh J!H0
/@My^'C
Wh0是否需要动用到这些功能是很视乎实际情况和需要的。如果过程时间不长的话,还不如重新录制再回放。如果只是测试对像介面上的少许改动,手工地批次编辑则可能更快。51Testing软件测试网H5x(HP9U^'g"vV
-完-
k2P.?
A+I [P_1Dz1f4s0
,?R2B\d0