诚招英才(长期):高级测试开发工程师、测试架构师,C++,java,ops;
联系方式:linhan@taobao.com
msn: niuxvampire@hotmail.com
(原创)基于WATIR+RAILS+STAF的自动化测试--测试套件脚本
上一篇 /
下一篇 2008-03-25 10:46:45
/ 个人分类:自动化测试技术
"q?-E al0上一节 从头阅读
^K2m!TWr(~&@+sQ0{3R6Y?p!B"KD)A)S0非常抱歉,到现在才更新^_^51Testing软件测试网
Hm0QQ B6^/I'U
l
51Testing软件测试网}/cz$D k9g8g一个测试套件的例子:51Testing软件测试网XOq.{1vb.B!IEB
51Testing软件测试网CAd#yh ~O=begin
R9\2p+F7DG}0Author: Nick Wang
\{ fg
q0E-A8d0Filename: TestXXXSuite.rb
aI{*n6R} v-@9E7o0Descrīption: xxxxxxxx
$uFi&|#hlS0CreateDate: xxxx-xx-xx
XM(F7N*V5u0ModDate: xxxx-xx-xx51Testing软件测试网w/f)hq+R1w*h,MyQ
=end
4V/@l4x;ntw4P6cKm051Testing软件测试网VP0qcz#实现同时支持绝对路径和相对路径51Testing软件测试网A2}5OIE4Ql\ m&J
$domain=$*[0]51Testing软件测试网kgcyO&m0WD
if $*[1] != nil51Testing软件测试网V7Y-XrQOv
$pre=$*[1]51Testing软件测试网$d0Sz0G:R/D
else
Nm
[;]"jh(Vj0 $pre=''
-X6NR5y(r(r:m\0end
.S7DpU4_0G"j"M051Testing软件测试网ti2y ssWrequire $pre+用例相对路径
+xgWH%B
VO0....
H5Q%r-agy*IT0require $pre+lib相对路径51Testing软件测试网?|7[ J}C2G9LDqJ
include ...51Testing软件测试网3E ae?C}u
51Testing软件测试网3O.`(n V e#创建一个管理用例执行的类,也就是测试套件.51Testing软件测试网?0G|-Xqo#`@4h0T
class TestXxxSuite51Testing软件测试网&Kgn'Q
r a_*K^*|Y
def initialize(url='http://www.yahoo.cn',resUrl=nil)
S|BL2x7\"V5X8T0 @url=url51Testing软件测试网] FI\D
X
@resUrl=resUrl51Testing软件测试网5iFn#mpX6}
@logPath=$pre+log相对路径
/a4mDKX)y0 #创建日志文件,全局变量
G.v5_`
WzC8o|0 $logFile=File.new(@logPath,"w")51Testing软件测试网 N
v*PI0L8mji
#创建一全局变量存放所有用例执行的结果,是一个二维数组
)~ H(Ko2}&w9~+^
t0 $results=[]51Testing软件测试网s_-]Fj%epU
end
R/Sd)h?h
m0 51Testing软件测试网a&vi%sf}
def main51Testing软件测试网-U_Q!TZJO
begin51Testing软件测试网d`QvtP+^m
#获取测试任务开始执行的时间51Testing软件测试网 r T1giZN5u1~9Ed#K
sTime=TK.formatTime 51Testing软件测试网2`z1_
G4MRe A
$logFile.puts '----------Test XXXXXXX---'+formatTime()+'---------'51Testing软件测试网 SWj-@_!pL
1Y%A6S+{8{0 #执行第一个用例51Testing软件测试网
s |C
vChM.a(?
case1=TestBlogSortType.new()
6ql*XyNp0 case1.main51Testing软件测试网3O9F)n0q5K0mUYHua
.......51Testing软件测试网@ b-A7n*Q
sleep(2)51Testing软件测试网|-j9E"\4`?\+I
#执行第n个用例51Testing软件测试网qX2QK9L's%p5M
casen=TestBlogAllArticle.new()51Testing软件测试网$m w8xK)Z0f|
casen.main 51Testing软件测试网;b3]uY~ ?
*BFK]S0}
AT0 #获取测试任务结束执行的时间51Testing软件测试网H,X*Pf\w
eTime=TK.formatTime
6u5Gke?S6DJ$fk6B0 $logFile.puts '----------end test XXXXXXX---'+formatTime()+'---------'51Testing软件测试网3iP.[8y1?V%L W
#捕捉异常,将异常信息写入log文件
g/QY`Vl"^9B0 rescue => detail
gGpQ(OG0 $logFile.puts detail.message51Testing软件测试网Q#]8H
pl x)z
G
$logFile.puts detail.backtrace.join("\n")
-T:i`w0J)[J0 raise51Testing软件测试网xvSMU!y0_]
ensure
wC'|d|0 $logFile.close51Testing软件测试网9Id&]zlb
#将所有用例的测试结果$result传给generateResult做处理,generateResult会将测试结果处理成两个xml文件51Testing软件测试网S
_9G2HIC
jnQ
#生成新的xml文件的同时会生成其备份文件
V'[zor0 #这两个xml文件可以由之前提到的qaweb中的特定的controller做解析,以网页形式展现
nO`l}*T n0 res=GenerateResult.new51Testing软件测试网g|Z"|Y \
res.generateResult(sTime,eTime,$results) 51Testing软件测试网OU[5GfN
end
M1d3V$Sya,o0Y3N0 end
;A EEB&C7DV9eSD0end51Testing软件测试网x``:de:f
51Testing软件测试网+va xD(v}g*Zwt=TestXxxSuite.new('http://www.yahoo.cn')51Testing软件测试网7j:Y%i)Ks:~
t.main51Testing软件测试网}/[
dw']$A"A&L
HV+j8\
U%dT0c$o.b(Ca0 使用类来定义测试套件(测试计划),主要是为了方便继承,我们都知道,产品在长时间的开始过程中可能会有一些分支,这些分支表现在产品上的差别可能并不大,因此,对测试套件来说,我们只需要继承类似测试套件类,再做适当的修改即可。51Testing软件测试网!N+?B&c-D,p(r i/O
下一节51Testing软件测试网 K7K1@ d"]TRZr
/YJ9oIJu `R0
相关阅读:
- 浅谈数据字典对分析性能的帮助 (Erica, 2007-3-26)
- Selenium Reference (handen, 2007-11-12)
- Selenium备忘 (handen, 2007-11-12)
- QTP基础代码 (handen, 2007-12-03)
- 很不错的自动化测试框架——STAF (wzstar2008, 2008-1-22)
- (原创)基于WATIR+RAILS+STAF的自动化测试框架——前言 (wzstar2008, 2008-1-31)
- (原创)基于WATIR+RAILS+STAF的自动化测试框架——简介 (wzstar2008, 2008-1-31)
- (原创)基于WATIR+RAILS+STAF的自动化测试框架——QAWEB (wzstar2008, 2008-1-31)
- (原创)基于WATIR+RAILS+STAF的自动化测试框架——测试脚本 (wzstar2008, 2008-1-31)
- 对Watir,Rails,Staf的简要介绍 (wzstar2008, 2008-2-02)
收藏
举报
TAG:
自动化测试技术