`
iloveoracle
  • 浏览: 119500 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

SilkTest那些事儿_第一章 ST的HelloWord_录制回放1

    博客分类:
  • java
阅读更多
    [size=x-small;][size=12px;] [/size]但凡程序员学习一门新语言,他要干的就是打出一个hello world来。甚至某位程序员联系书法,展开宣纸,磨好墨,tian四声(此字不会写啊)好笔,大笔一挥,就是hello world。本人这里,就用hello world来代替入门的意思。带着大家一起快速入门silktest。[/size]
[size=x-small;]一般将自动化测试工具入门必从录制回放开始,一般还都选择计算器,咱也别找那个例外了,来个痛快的,速速开始。[/size]
[size=x-small;]<br>[/size]
[size=x-small;]录制回放计算器[/size]
<span style="font-family: verdana, sans-serif; line-height: 21px;">[size=x-small;]1. 新建测试项目<br>首先打开你的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就建好了。[/size]</span>
一连串枯燥的说明,照着做吧。
 
2.录制脚本
在真正的开始录制之前,先介绍一些定义,以便后面出现这些古古怪怪的东西的时候,大家能认得。aut(application under test)俗称的被测系统,比方说我们马上要录制计算器了,计算器就是被测系统。gui(graphical user interface)图形用户界面,打开计算器看到的东东就是gui,一个可以看到可以操作的界面,所谓的录制就是录制在gui上的操作。“抓取gui”这个一般是简称,说的简单点就是获取aui的gui定义。怎么理解呢?我们知道进行自动化测试,就是就是用程序或者工具模拟人工的操作,才测试系统。人是知道这个按钮是提交,那个按钮是取消,这个是用户名输入框,一看就知道了。机器不行,搞图像识别这个成本太高了。机器怎么搞啊,机器通过“抓取gui",将gui的控件进行了自己定义,比方说他发现这个提交按钮在开发的时候起了一个名字叫submit,这个界面中没显示,是这个控件的属性,虽然人看不到但是机器能读到,于是他记住了有个叫submit的按钮控件。当录制操作的时候,你点了这个按钮,机器是发现你点了一个叫submit的按钮,它就记录下来,下次回放的时候,他还点这个按钮。有意思把,根据aut的类型不同具体的识别原理略有不同,今后碰到了,我会详述一下。现在大家只要知道是机器记住了gui上控件的某些属性来识别控件的,而抓取gui就是一个识别记录的过程就行了。
[size=x-small;]现在就进行抓取gui,抓取gui之前我们先建立一个test frame文件,咱就用这个文件来放置gui的定义。首先打开程序>附件>计算器;然后选择在st中<span style="font-family: verdana, sans-serif; line-height: 21px;">选择菜单"file->new",这样你就能弹出的对话框中选择"test frame"文件类型了,然后在"new test frame"对话框中选择"application"为计算器,其他的默认好了,点击ok按钮,silktest就帮你自动在include/frame目录下生成了frame.inc文件。文件里的代码如下:[/size]</span>
 
[ ] 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		[+] multitag "编辑(e)"			[ ] "#1"		[+] menuitem 复制c			[+] multitag "复制(c)"				[ ] "#1"				[ ] "$300"		[+] menuitem 粘贴p			[+] multitag "粘贴(p)"				[ ] "#2"				[ ] "$301"	[+] menu 查看v		[+] multitag "查看(v)"			[ ] "#2"		[+] menuitem 标准型t			[+] multitag "标准型(t)"				[ ] "#1"				[ ] "$305"		[+] menuitem 科学型s			[+] multitag "科学型(s)"				[ ] "#2"				[ ] "$304"		[+] menuitem 数字分组i			[+] multitag "数字分组(i)"				[ ] "#3"				[ ] "$303"	[+] menu 帮助h		[+] multitag "帮助(h)"			[ ] "#3"		[+] menuitem 帮助主题h			[+] multitag "帮助主题(h)"				[ ] "#1"				[ ] "$317"		[+] menuitem 关于计算器a			[+] multitag "关于计算器(a)"				[ ] "#2"				[ ] "$302"	[+] textfield textfield1		[+] multitag "#1"			[ ] "$403"	[+] pushbutton mc		[+] multitag "mc"			[ ] "#4"			[ ] "$113"	[+] pushbutton mr		[+] multitag "mr"			[ ] "#10"			[ ] "$114"	[+] pushbutton ms		[+] multitag "ms"			[ ] "#16"			[ ] "$115"	[+] pushbutton m		[+] multitag "m+"			[ ] "#22"			[ ] "$116"	[+] pushbutton n7		[+] multitag "7"			[ ] "#5"			[ ] "$131"	[+] pushbutton n4		[+] multitag "4"			[ ] "#11"			[ ] "$128"	[+] pushbutton n1		[+] multitag "1"			[ ] "#17"			[ ] "$125"	[+] pushbutton n0		[+] multitag "0"			[ ] "#23"			[ ] "$124"	[+] pushbutton n8		[+] multitag "8"			[ ] "#6"			[ ] "$132"	[+] pushbutton n51		[+] multitag "5"			[ ] "#12"			[ ] "$129"	[+] pushbutton n2		[+] multitag "2"			[ ] "#18"			[ ] "$126"	[+] pushbutton pushbutton24		[+] multitag "+?-"			[ ] "#24"			[ ] "$80"	[+] pushbutton n91		[+] multitag "9"			[ ] "#7"			[ ] "$133"	[+] pushbutton n6		[+] multitag "6"			[ ] "#13"			[ ] "$130"	[+] pushbutton n3		[+] multitag "3"			[ ] "#19"			[ ] "$127"	[+] pushbutton n16		[+] multitag "?[16]"			[ ] "#25"			[ ] "$85"	[+] pushbutton n52		[+] multitag "?[5]"			[ ] "#8"			[ ] "$90"	[+] pushbutton n92		[+] multitag "?[9]"			[ ] "#14"			[ ] "$91"	[+] pushbutton pushbutton20		[+] multitag "-"			[ ] "#20"			[ ] "$93"	[+] pushbutton pushbutton26		[+] multitag "+"			[ ] "#26"			[ ] "$92"	[+] pushbutton pushbutton27		[+] multitag "="			[ ] "#27"			[ ] "$112"	[+] pushbutton backspace		[+] multitag "backspace"			[ ] "#1"			[ ] "$83"	[+] pushbutton ce		[+] multitag "ce"			[ ] "#2"			[ ] "$82"	[+] pushbutton c		[+] multitag "c"			[ ] "#3"			[ ] "$81"	[+] statictext statictext1		[+] multitag "#1"			[ ] "$401"	[+] pushbutton n1x		[+] multitag "1?x"			[ ] "#21"			[ ] "$107"	[+] pushbutton sqt		[+] multitag "sqt"			[ ] "#9"			[ ] "$103"	[+] pushbutton pushbutton15		[+] multitag "%"			[ ] "#15"			[ ] "$109"	[+] statictext statictext2		[+] multitag "#2"			[ ] "$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"[ ] 
 
 好了,你迈出了录制的坚实的一步,恭喜你下一步就要开始建立一个testcase,录制[size=x-small;]相关的操作了。<span style="font-family: verdana, sans-serif; line-height: 21px;">选择菜单的"record -> testcase...",在弹出的"record testcase"对话框中,你可以看到默认的testcase name是test1,初始状态是defaultbasestate,然后你点击startrecording按钮就可以开始录制测试用例了。[/size]</span>
<br><img src="http://dl.iteye.com/upload/attachment/492449/5d0db648-fd2d-3aff-a02e-f133b6762c9e.bmp" alt="">
看到右下角的录制窗口了,两个很重要的按钮一个pause用来暂停录制,一个done代表录制完成。
 
<br><img src="http://dl.iteye.com/upload/attachment/492451/df442459-cb0e-3ffe-803c-ce210b125bb5.bmp" alt="">
 我们还没开始动手呢,这个窗口先不用管他,打开亲爱的计算器,弄点操作,加加减减的,尽管整。整的差不多了,按<ctrl+alt>键,别点刚才那个窗口的done按钮,不然你就看不到下一个verify window了。
<br><img src="http://dl.iteye.com/upload/attachment/492447/6f82a90a-add5-3114-b64c-dc83d35b9257.bmp" alt="">
又是一个窗口,verifywindow.这个[size=x-small;]窗口我会弄个贴图放到附件中的。不然到这里都不知道走到哪儿了,一头雾水了吧。好了这个窗口是用来设置校验的。我们应该校验什么呢,这里有很多校验比方说空间存在不存在啊,能不能用啊。我们这里校验一下结果是不是我们希望结果吧,先uncheck all,然后找到结果控件的定义,在左侧的一堆控件中找到textfield1,我抓取是这个名字,然后只选择text,果断点ok。然后这个时候又看到录制窗口,这个时候你可以勇敢地点done了。[/size]
[size=x-small;]呃,怎么还是一个窗口,没办法你需要把信息给够够的,人家才能知道你要干什么啊,recordwindow窗口,你看看你录制的代码在上面了,录制的testcase name,也该改个好听的名字吧,然后点<span style="font-family: verdana, sans-serif; line-height: 21px;">点击paste to editor。呃,还要输入文件名字,别烦马上就要到西天取到真经了,<ctrl>+s保存传统组合件,然后起一个响亮的名字,"c.t",问你加入不加入工程,必须的yes,哈哈,好了录制完成了。[/size]</span>
 
[-] testcase cal ()	[-] recording		[ ] 计算器.setactive ()		[ ] 计算器.n1.click ()		[ ] 计算器.pushbutton26.click ()		[ ] 计算器.n2.click ()		[ ] 计算器.pushbutton27.click ()		[ ] 计算器.pushbutton26.click ()		[ ] 计算器.n3.click ()		[ ] 计算器.pushbutton27.click ()		[ ] 计算器.pushbutton26.click ()		[ ] 计算器.n6.click ()		[ ] 计算器.pushbutton27.click ()		[-] 计算器.verifyproperties ({...})			[ ] ""			[ ] {}			[-] {...}				[-] {"textfield1", {...}}					[ ] {"text",                 "12. "}
 
 搞了半天就这点东西?嗯,就这点东西,这个就是录制的结果。当然我整的不够厉害,你录制的时候可能一通乱整,比我的代码就会多不少,没关系代码不一样,效果差不多。
 
3.回放录制的脚本
激动人心的时刻到了,被折腾了那么时间现在你要做的就是按下<f9>来执行测试脚本了,另外个人觉得用<f9>作为执行的快捷键算是比较另类的,当然各大ide一个比一个另类,也没什么好说的了。
看到飞快的执行了吧,爽吧。o(∩_∩)o哈哈~,飞快的有木有,(*^__^*) 嘻嘻……。
然后st会给你一个报告,报告的格式如下
 
 
[ ] script c.t - passed[ ] machine: (local)[ ] started: 11:07:23pm on 02-jun-2011[ ] elapsed: 0:00:03[ ] passed:  1 test (100%)[ ] failed:  0 tests (0%)[ ] totals:  1 test, 0 errors, 0 warnings[ ] [-] testcase cal - passed	[ ] *** defaultbasestate is setting 计算器 active, no window was active
 这个里面说的内容我就不细说都是什么的了,对着英文单词,应该都大致明白是什么意思了。
 
总之passed 1   failed 0 ,说明咱们的脚本都通过了。
 
好了,恭喜恭喜,录制回放就这样说完了,简单吧。这个是一个很好的开始,其实使用自动化测试工具,录制回放是大家最爱使用的。出台频率略高。但是要做好自动化测试,录制回放只是一个进入这个殿堂的敲门砖,一切刚刚开始。那亲爱的同志们,就敬请期待我后面的博文,我会一步一步带大家走入st这条不归路的,o(∩_∩)o~。好了,今天就到这里。
<div><br>
0
1
分享到:
评论

相关推荐

    SilkTest入门快打

    这个教程虽然简要,但它涵盖了SilkTest的基本流程,包括项目创建、录制回放和测试执行,这些都是进行自动化测试的基础。对于初学者来说,这是一个很好的起点,可以帮助他们快速掌握SilkTest的基本操作,并为进一步...

    SilkTest快速入门中文版

    SilkTest是一款功能强大的自动化测试工具,主要用于软件应用的功能测试和回归测试。它由Micro Focus公司开发,旨在帮助用户高效地进行应用程序的测试工作,尤其是对于GUI(图形用户界面)的测试。本教程《SilkTest...

    SilkTest入门快打系列1-录制回放

    SilkTest入门快打系列1-录制回放 软件测试 本人使用SilkTest进行自动化测试已有一段时间,有一些经验想和初学者们分享,所以就尝试编写这个SilkTest入门快打系列教程。编写该教程有两个目的,首先,希望能够告诉...

    silktest自己收集的一些资料

    Silktest的核心特性包括录制与回放、对象识别、数据驱动测试、关键字驱动测试、支持多种应用程序类型(如GUI、Web、移动应用等)以及强大的报告功能。学习Silktest,你需要理解它的对象模型、脚本语言、测试框架以及...

    silktest 15的官网资料

    - **录制与回放**:SilkTest 提供了录制和回放功能,通过观察用户操作来生成基本的测试脚本。 - **调试工具**:内置的调试器可以帮助开发者逐步执行脚本,查看变量状态,定位并修复问题。 - **异常处理**:支持...

    silktest入门

    自做 有些粗糙 请包涵 本文主要介绍了 silktest如何录制回放以及手动编写脚本的步骤

    SilkTest2009学员指南-Verification Testing with SilkTest第一部分

    最新SilkTest2009学员指南-Verification Testing with SilkTest, winrar第一部分, pdf文件,共十三部分, 全部下载后解包

    silktest完整文档

    SilkTest 是一款强大的自动化测试工具,由 Borland 公司(现已被 Micro Focus 收购)开发,主要用于功能测试和回归测试,尤其在 Web、桌面应用和移动应用的测试领域具有广泛的应用。本文档集包含了 SilkTest 的各个...

    SilkTest在数据驱动技术中的应用

    SilkTest是一款由美国Segue公司开发的软件GUI自动化测试工具,广泛应用于回归测试,特别是在Web、Java以及传统的C/S架构的应用测试中。SilkTest以其独特的特性和工作原理,显著提升了测试效率,确保了测试的可靠性和...

    silktest特性介绍

    SilkTest是一款强大的自动化功能测试工具,主要设计用于软件应用程序的测试,特别是针对那些由Microsoft、Java、Web等多技术平台构建的复杂应用。SilkTest具有多种特性,使其成为测试自动化过程的理想选择。 首先,...

    SilkTest学习(清晰的图文并茂)

    1. **创建SilkTest项目**:在这一阶段,用户需要定义项目的名称、位置等基本信息。 2. **启用并测试扩展设置**:此步骤涉及选择和配置SilkTest支持的应用程序类型(如浏览器、Java应用程序等)。 3. **配置恢复系统*...

    silktest自己用的学习资料收集

    SilkTest 是一种功能强大的自动化测试工具,由 Micro Focus 公司开发,主要用于应用程序的功能和回归测试。它基于关键字驱动的测试方法,允许测试人员通过简单的语法来创建复杂的测试脚本,适用于多种应用程序类型,...

    silktest中文文档

    SilkTest提供了一系列的测试功能,包括自动化测试录制、回放、验证、测试用例管理等。SilkTest Workbench则作为一个图形化的操作界面,支持.NET测试脚本的编写和维护。 在进行脚本录制之前,我们通常需要启动一个...

    Silktest入门演示视频

    SilkTest是一款功能强大的自动化测试工具,主要用于软件功能测试和回归测试。由Micro Focus公司开发,它支持多种应用程序,包括Windows、Web、Java、.NET等。本教程主要面向初学者,通过“Silktest入门演示视频”来...

    SilkTest2008初印象.pdf

    ### SilkTest2008与QTP的对比分析 #### 一、概述 本文将针对SilkTest2008与QTP(Quick Test Professional)这两款自动化测试工具进行初步对比,旨在帮助读者更好地理解两者之间的异同及其各自的优势与不足。通过...

    SilkTest Classic帮助文档

    SilkTest Classic帮助文档 英文版,版本13,貌似是

    SilkTest入门快打系列2-编写脚本测试

    SilkTest入门快打系列2-编写脚本测试 软件测试 在上一讲“SilkTest入门快打系列1-录制回放”中,我们介绍了如何建立一个简单的SilkTest测试项目,用它来测试WindowsXP自带计算器的加法功能。在上一讲中,我们使用...

Global site tag (gtag.js) - Google Analytics