TestComplete的项目组织和脚本回放介绍51Testing软件测试网2M/z&Wz!L
51Testing软件测试网8^:GI+n kb1H
原著者:Terry Young51Testing软件测试网| HL!mn:A!^r3xT
适合程度:初学者51Testing软件测试网V&Fc5m;~x1v1w
$U5T1\ Yv-h-Vu0笔者注:看到很多文章,在术语的翻译上,尤其对没有正式汉化或者国际化的国外软件,都存在着翻译不统一的情况。笔者则通常会在文章中第一次出现的英文字眼附上中文翻译,但其后会以英文字眼为准。
:Dz @!VK/yCa5\0
$aH(Kx2R/Z0cY
s.k%^LI!h0读完此教程后,读者应该学会:
2[w l,?*m Cf01. TestComplete内主要六种回放,范围由小至大分别是51Testing软件测试网FtK I EH
1.1 Run Current Routine (执行函式)
*B,Q2p^H01.2 Run scrīpt (执行脚本)51Testing软件测试网M4]^R GPg!W
1.3 Run Manual Test (执行手工测试)
%{2Y(}gG)f01.4 Project的Test Items里面的Run Focused Item (执行当前选择的测试物件)
EJ|d
mQ$Lu01.5 Run Project (执行项目)
2|F&rNpOw"q01.6 Run Project Suite(执行专案)51Testing软件测试网2b%L"h8Lw"Lf&\9~
2. TestComplete内测试项目的架构
k$O`
e ^]}03. 透过Test Items来组织测试单元(Units)的串连回放
l,i't7F \|;V`1F0u3P0
&h2NN2cD:AK#pmM0正文:51Testing软件测试网oN4q3X,du6zgCms
Run Current Routine
6k]7joS0下图是Run Current Routine的方法,在Sub Main任何一个范围上右按,选择Run Current Routine便会执行Main这个函式。
EK}2C
k*Pk9x0根据图内的代码的话,结果会是先出现“Hello.”的MsgBox,然后呼叫AnotherFunction继而出现“Hello World!”的MsgBox。
Dv7sA:SB'D u0
uh E \4aX^0
Run scrīpt
qOI}yS l9R4E0透过下图所显示,在工具列上的按钮可以执行Run scrīpt, Run Project或者Run Project Suite。
p5V$X8}O0按照下图的代码,如果执行Run scrīpt,会先运行左边栏的“scrīpt”内的Main Routine (启始函式)。51Testing软件测试网8Sp:u'ocDlb
51Testing软件测试网~
~
WMY,x
51Testing软件测试网[)r7z]R7@
scrīpt的Main Routine,可以按照下图来设置。
M;jGlj
HJ0如果设置成AnotherFunction,执行Run scrīpt就只会出现“Hello World!”这个结果。51Testing软件测试网7L;e}#dB
如果设置成Main,执行Run scrīpt就会先出现“Hello.”,再出现“Hello World!”。51Testing软件测试网.V!z/hw'S \p$vB
VvRai0 51Testing软件测试网3_o^i@3o/`
Run Manual Test51Testing软件测试网"c.?[g3WE6i
Manual Test是手工测试,可以在Project右按来建立,主要就是纪录一些人手操作的步骤。51Testing软件测试网M^i)f-i^Y6M
Run Manual Test就是回放一个一个的画面显示每个人手操作步骤,测试员人手执行实际动作后可回到TestComplete去选择适合的按钮来纪录结果。
l*IsWB2RfS"I051Testing软件测试网}Pn2D9CWO8T&ZK
51Testing软件测试网E*|X)|-[1Sf/H|^
'{6_;Ij)ki,\I0Run Project
Ex[V-m a-M0执行Run Project,是会执行Project的Test Items。
0^AOh*m
J,XD!E0如下图的设置的话,Project的第一个Test Item就是执行Unit1内AnotherFunction这个函式。51Testing软件测试网i Xs/N/?
51Testing软件测试网9I7p8H}6d'\O
.H{
olQ-`051Testing软件测试网7{S8C;d&MK4J6N:aL
右按介面,透过New Item可以陆续加上更多Test Items,甚至用New child item来分层次地加上Test Items。51Testing软件测试网0Q Kr+t.\#QQ
Test Items不单可以是scrīpt (脚本),还可以是Manual Test (手工测试)。
&}NpQ N3_$C0
B;nG&R1L |0 51Testing软件测试网1S
v9L/m8g"Y
如下图的设置的话,执行Run Project的结果就是出现“Hello World!”,然后出现ManualTest1的手工测试脚本,测试员完成手工测试后,继续运行自动测试而出现”Goodbye”,然后出现“Hello.”和“Hello World!”。
M
}'q`;s6\+^ E051Testing软件测试网(qMf.W CWG
51Testing软件测试网uN)~)b1e@"[O}x
51Testing软件测试网z?`)CIB#q7e
在此处,分层次的主要是为了方便启动或者屏蔽某一项测试范围。如下图。你还可以直接拖拉或者透过右按来移动项目。51Testing软件测试网Z!e;a1t)w
Dg:FO
51Testing软件测试网2?/Lh)FIl
51Testing软件测试网 HfZQjY8X
Q
7@dl _"n8u j0这里通常就是管理者组织很多复杂脚本的地方。
Z8pXvvO)A0 51Testing软件测试网/D!X.@7z7E|~d
xfS#A
通常,测试队伍可以陆续建立很多Function (函式)甚至Unit (单元),每个Unit或者Function通常都有自己的录制起点和终点。而管理者,透过测试计划Test Plans和用例Test Cases等等设计文件和辅助文件引导下,可以在这里组织Unit来实现计划的。
5Wu9Jc{R0O4h:m0 51Testing软件测试网`"v+h$w%Zm
因此,其实没有必要透过代码编写多个Call函式来实现多个脚本组合运行的。反而,使用Call函式更适合去呼叫一些经过代码重构(Refactorization)后可以循环再用或者共用的函式的。
%SC9FP;d"Vu9B0 51Testing软件测试网 H6H7nv yyZ
Run Focused Item51Testing软件测试网]S_+Fa;n)j1X*eH
同样在Project的Test Items介面内,你可以透过右按来执行Run Focused Item,将目前选取的项目运行。如根据下图的设置,是不会运行的,因为,事前已经将ProjectTestItem2屏蔽了。
4`:QaY.j)G,E
N0
5f9B._5j_?1Yh?0)g4H'\,@c)C&K!G7L051Testing软件测试网E;Gl&k5e/ys:MFrc
Run Project Suite51Testing软件测试网0K#}8L-l%i/F
Project Suite同样有Test Items的设置。此处所谓的Test Items,其实就是指Projects,如下图,就是指Windows专案下Notepad这个项目。
}H2~d9@0v^J0一个专案(Project Suite)可以有多个项目(Projects)的。这个例子中则只有一个。如果出现多个,你是可以同样地在Test Items内设置Projects的次序先后和屏蔽状态。
M!V$PGf&w0执行Run Project Suite的话,就会先运行Notepad这个Project,也就会根据Notepad Project内Test Items的设置来运行了。
]7w/UD xf xQk?k,\0
pr I!?~$]t:bT }$I0-完-51Testing软件测试网qKbk2J1I-O
}|F f;wGw0