本人使用SilkTest进行自动化测试已有一段时间,有一些经验想和初学者们分享,所以就尝试编写这个SilkTest入门快打系列教程。编写该教程有两个目的,首先,希望能够告诉初学者如何快速的上手SilkTest而不必关心很多SilkTest的细节。实际上,SilkTest是一个强大的软件测试工具,应用面很广,使用它的人很少能够面面俱到把所有SilkTest提供的功能都用到,根据28原理,绝大多数人只用到了其中20%的功能,所以我希望这个教程能够覆盖SilkTest最常被用到的那部分功能,让初学者能够尽快将SilkTest使用起来。其次,我工作中主要是用SilkTest对C/S结构的软件进行测试,一直没有机会用SilkTest来测试B/S的应用,所以希望能藉此机会,在编写该系列教程的时候同时更多地学习如何使用SilkTest。
“天下功夫,唯快不破”,让我们赶紧开始SilkTest的快打旅程吧!
开始之前,请确定你的机器上安装了SilkTest软件,我装的是2006试用版,如果你的版本和我的不同,那也没什么关系,因为不同版本SilkTest的脚本语法基本上没有变化。
今天这一节,主要教你如何开始一个简单的测试。我们将要做的是测试WindowsXP自带的计算器,需要做的首先是新建一个测试项目,然后录制
一段测试脚本并指定测试点,最后运行该测试观察测试结果。
1、新建测试项目
首先打开你的SilkTest软件,然后从菜单里选择“File->New Project”,这时会弹出一个“New Project”的对话框,里面有两项“Create Project”和”Auto Generate Project”,我们选择“Create Project”然后点击”OK”按钮。这时又出现了一个对话框,要求你输入Project的名字,请在”Project Name”里面输入Calculator,然后选择你要保存Project的路径,例如:“D:/Program Files/Borland/SilkTest/Projects/Calculator”,点击确定。这个时候你的新项目Calculator就建好了。
2、录制测试脚本
在录制脚本之前,为了让SilkTest认识我们的待测软件,也就是常说的AUT(application under testing),我们必须捕捉和建立AUT的GUI定义,这几乎是所有GUI测试的第一步。为了捕捉GUI的定义,我们首先需要建立一个Test Frame,你可以简单的理解Test Frame里面定义了将要测试的GUI上各个对象。
由于我们要测试的是WindowsXP自带的计算器,所以请先打开该程序,你可以从”开始->程序->附件”里面找到它。打开后,你可以选择菜单”File->New”,这样你就能弹出的对话框中选择”Test Frame”文件类型了,然后在”new test frame”对话框中选择”application”为计算器,其他的默认好了,点击OK按钮,SilkTest就帮你自动在Include/Frame目录下生成了frame.inc文件,这里面就是计算器GUI的定义,它的代码看起来像如下这样:
[ ] const wMainWindow = 计算器 [ ] [+] window MainWin 计算器 [+] multitag “计算器” [ ] “$C:/WINDOWS/system32/calc.exe” [ ] [ ] // The working directory of the application when it is invoked [ ] const sDir = “C:/WINDOWS/system32″ [ ] [ ] // The command line used to invoke the application [ ] const sCmdLine = “C:/WINDOWS/system32/calc.exe ” [ ] [ ] // The first window to appear when the application is invoked [ ] // const wStartup = ? [ ] [ ] // The list of windows the recovery system is to leave open [ ] // const lwLeaveOpen = {?} [ ] [+] Menu 编辑E [ ] tag “编辑(E)” [+] MenuItem 复制C [+] multitag “复制(C)” [ ] “$300″ [+] MenuItem 粘贴P [+] multitag “粘贴(P)” [ ] “$301″ [+] Menu 查看V [ ] tag “查看(V)” [+] MenuItem 标准型T [+] multitag “标准型(T)” [ ] “$305″ [+] MenuItem 科学型S [+] multitag “科学型(S)” [ ] “$304″ [+] MenuItem 数字分组I [+] multitag “数字分组(I)” [ ] “$303″ [+] Menu 帮助H [ ] tag “帮助(H)” [+] MenuItem 帮助主题H [+] multitag “帮助主题(H)” [ ] “$317″ [+] MenuItem 关于计算器A [+] multitag “关于计算器(A)” [ ] “$302″ [+] TextField TextField1 [ ] tag “$403″ [+] PushButton MC [+] multitag “MC” [ ] “$113″ [+] PushButton MR [+] multitag “MR” [ ] “$114″ [+] PushButton MS [+] multitag “MS” [ ] “$115″ [+] PushButton M [+] multitag “M+” [ ] “$116″ [+] PushButton N7 [+] multitag “7″ [ ] “$131″ [+] PushButton N4 [+] multitag “4″ [ ] “$128″ [+] PushButton N1 [+] multitag “1″ [ ] “$125″ [+] PushButton N0 [+] multitag “0″ [ ] “$124″ [+] PushButton N8 [+] multitag “8″ [ ] “$132″ [+] PushButton N51 [+] multitag “5″ [ ] “$129″ [+] PushButton N2 [+] multitag “2″ [ ] “$126″ [+] PushButton PushButton24 [+] multitag “+?-” [ ] “$80″ [+] PushButton N91 [+] multitag “9″ [ ] “$133″ [+] PushButton N6 [+] multitag “6″ [ ] “$130″ [+] PushButton N3 [+] multitag “3″ [ ] “$127″ [+] PushButton N16 [+] multitag “?[16]” [ ] “$85″ [+] PushButton N52 [+] multitag “?[5]” [ ] “$90″ [+] PushButton N92 [+] multitag “?[9]” [ ] “$91″ [+] PushButton PushButton20 [+] multitag “-” [ ] “$93″ [+] PushButton PushButton26 [+] multitag “+” [ ] “$92″ [+] PushButton PushButton27 [+] multitag “=” [ ] “$112″ [+] PushButton Backspace [+] multitag “Backspace” [ ] “$83″ [+] PushButton CE [+] multitag “CE” [ ] “$82″ [+] PushButton C [+] multitag “C” [ ] “$81″ [+] StaticText StaticText1 [ ] tag “$401″ [+] PushButton N1X [+] multitag “1?x” [ ] “$107″ [+] PushButton Sqt [+] multitag “sqt” [ ] “$103″ [+] PushButton PushButton15 [+] multitag “%” [ ] “$109″ [+] StaticText StaticText2 [ ] tag “$1000″ [+] window MessageBoxClass MessageBox [ ] tag “~ActiveApp/[DialogBox]$MessageBox” [+] PushButton OK [ ] tag “OK” [+] PushButton Cancel [ ] tag “Cancel” [+] PushButton Yes [ ] tag “Yes” [+] PushButton No [ ] tag “No” [+] StaticText Message [ ] motif tag “#2″ [ ] tag “#1″ |