通过使用Rational Functional Tester V8.1中的Storyboard简化自动化脚本的开发

张 晓丹, 软件工程师, IBM
 
简介: Rational Functional Tester 以前的版本容易架设框架、 容易扩展,但更像是一个开发工具而非简单的测试工具。虽然能完成很多工作,入门却要难一些。Rational Functional Tester V8.1 增添了一个新特性 Storyboard,包含 Simplified Script. 和 Application View 两部分。使用户可以在录制脚本的时候在 Simplified Script. 生成英语句子而并非仅仅 Java 代码;在生成英语句子的同时,还会捕捉应用程序的图像置于 Application View 中。通过 Application View,用户即使不打开应用程序,也可以进行一些脚本操作,如插入应用程序控件,插入检查点(data和image),插入数据驱动命令等。因此,新特性 Storyboard 把 Rational Functional Tester 的易用性提升到了一个新的层次,加之 Rational Functional Tester V8.1 支持更多的应用程序类型,使其具有了显著的优势。

Rational Functional Tester 是 IBM Rational 研发的一款面向对象的自动化测试工具,可以模拟用户在实际使用中的基于图形化界面的操作。它支持 Windows 和 Linux 平台上对于 Windows®、.NET、Java™、HTML、Siebel、SAP、Ajax、PowerBuilder、Flex、Dojo、Visual Basic 和 GEF 等应用程序的测试,可以满足各种用户多方面的需要。

Rational Functional Tester 功能强大,容易架设框架、容易扩展,但对用户的要也比较高,更像是一个开发工具而非简单的测试工具。虽然能够帮用户完成很多工作,入门相对却要难一些。为此,Rational Functional Tester V8.1 版本增添了一些新的特性用来提高其易用性。本文主要介绍了如何通过使用 Rational Functional Tester V8.1 中的新增特性 Storyboard(故事板)简化自动化脚本的开发。

1. Rational Functional Tester V8.1 中的新增特性 Storyboard

Storyboard 又称为故事板,原意是安排电影拍摄程序的记事板,指在影片的实际拍摄或绘制之前,以图表、图示的方式说明影像的构成,将连续画面分解成以一次运镜为单位,并且标注运镜方式、时间长度、对白、特效等,也有人将故事板叫做“可视剧本”(visual script),让导演、摄影师、布景师和演员在镜头开拍之前,对镜头建立起统一的视觉概念。在 Rational Functional Tester V8.1 中的新特性 Storyboard(故事板),包含了 Simplified Script(简化的脚本编制)和 Application View(应用程序可视化视图)两部分。它能够在 Test 视图下记录生成和显示英语陈述的功能性测试脚本,即简化的脚本,这些英语句子较之 Java 代码更容易让用户理解。在记录简化的测试脚本的同时,Rational Functional Tester 能够获取程序快照并将这些图像显示于应用程序可视化视图中。通过应用程序可视化视图,用户即使不打开应用程序,也可以进行一些脚本操作,如插入应用程序控件,插入检查点(data 和 image),插入数据驱动命令等等。

下图 1 展示了如何通过故事板(storyboard)来导航测试流,它包含了应用程序可视化视图中的图像,以及功能性的语言测试操作,用户可以在任何地方进行编辑:脚本、文本或者界面。


图 1. 故事板(storyboard)
图 1. 故事板(storyboard)

在旧版本的 Rational Functional Tester 中,用户创建自动化脚本时,生成的是一个 Java 文件。而在 8.1 版本中,当用户在某工程下创建一个新自动化脚本的时候,生成的文件包含两个部分,一个是简化的脚本(Script. 标签),另一个是 Java 脚本(Java 标签),用户可以通过点击上图 1 中左侧脚本下面的标签进行选择。

需要说明的是,在 Rational Functional Tester V8.1 版本中,默认的开发环境中没有显示应用程序可视化视图,而需要在 Windows 下拉菜单中的 Show View 子菜单中点击 Other 选项,在弹出框里面进行选择。应用程序可视化视图位于 Functional Test 选项下面的子选项中,选中 Application View,如下图 2 所示。


图 2. 应用程序可视化视图选项
图 2. 应用程序可视化视图选项

这样,应用程序可视化视图就显示在 Rational Functional Tester 的开发环境中了,下面一章将继续介绍启用简化的脚本编制和应用程序可视化视图的具体方法。

2. Storyboard 中 Simplified Script. 和 Application View 的启用方法

故事板可以使用户更方便快捷的利用 Rational Functional Tester 进行测试,但是测试应用程序被捕捉的前提条件是简化的脚本编制和应用程序可视化视图必须均被启用。在 Rational Functional Tester V8.1 中简化的脚本编制在创建脚本的时候就已默认被启动,而应用程序可视化视图则需要用户手工启动。并且,若 Rational Functional Tester 并不处于初始的默认状态,功能启用状态可能与默认状态不同。因此,本章将分别具体介绍如何启用简化的脚本编制和应用程序可视化视图来确保它们已经被启动。

2.1 简化的脚本编制的启用方法

点击 Rational Functional Tester V8.1 开发环境窗口上方的 Windows 下拉菜单中的 Preferences 选项,则弹出一个首选项页面,找到并展开 Functional Test,选择 Simplified Scripting,如下图所示。首选项页面右侧出现 Simplified Scripting options,其中 Enable Simplified Scripting(Default)在初始状态下已被选中作为默认项。如果此选项尚未被选中,用户则需要将其选中来启用简化的脚本编制,简化的脚本编制首选项如下图 3 所示。


图 3. 简化的脚本编制首选项页面
图 3. 简化的脚本编制首选项页面

2.2 应用程序可视化视图的启用方法

用同样的方法在菜单 Windows 中打开首选项页面,在 Functional Test 下面找到 Simplified Scripting 项,继续展开,点击显示 Application Visuals 选项,即在首选项页面右侧得到如下图的应用程序可视化视图的启动选项,如下图 4 所示。


图 4. 应用程序可视化视图首选项页面
图 4. 应用程序可视化视图首选项页面

在上面的应用程序可视化视图首选项页面中,包含四个子选项,分别为:启用捕获应用程序可视化对象(Enable capturing of Application Visuals)、插入数据驱动的命令(Insert Data Driven Commands)、显示验证点对话框(Show Verification Point Dialog)和启用对测试数据验证的捕获(Enable capturing of Verification on Test data)。其中,选中启用捕获应用程序可视化对象复选框可以使用户在记录测试脚本的同时捕获应用程序可视化对象,截图被默认添加到 Application View 中,此选项默认选中;选中插入数据驱动的命令复选框可以使用户能够通过应用程序可视化对象将数据驱动命令插入脚本中,用户可以通过数据池子 (Test Datapool)进行编辑,此选项也被默认选中;选中显示验证点对话框复选框可以使用户能够在利用应用程序可视化对象将数据验证点插入脚本时使用验证点向导,而验证点向导在 Rational Functional Tester 旧版本中只能在录制自动化脚本时通过记录器调用,此选项默认不选中,需要用户自行启用;选中启用对测试数据验证的捕获复选框可以使用户利用应用程序视图中显示的应用程序可视化对象将验证点插入测试脚本。用户可以根据自己的需要,对这四个选项进行启用。在下面的章节中,假设这四个选项已经都被启用。

3. 通过 Simplified Script. 生成和编辑脚本的方法

在本章中,将通过一个自动化脚本录制的情景例子向用户介绍如何通过 Storyboard 故事板中的简化的脚本编制来帮助用户完成简化的脚本以及 Java 脚本的生成和编辑。

当用户将 Rational Functional Tester V8.1 安装到本地后,其自带的应用程序 ClassicsCD 也自动安装成功。首先需要启动 ClassicsCD,用户可以通过三种方式进行启动;方法一是从开始菜单中的所有程序中找到 ClassicsCD 进行启动;方法二则是在 Rational Functional Tester 开发环境中的 Configuration 菜单中点击 Enable Application Configuration 选项,在弹出框中可以直接找到 ClassicsCD,点击框右边的 Run 按钮 ; 方法三是直接在简化的脚本里插入 Java 代码片断,转到 Java 脚本,输入代码 startApp("ClassicsCD"),这样用户可以通过运行自动化脚本进行启动。ClassicsCD 启动后,以下面的情景进行自动化脚本的录制:创建一个空的自动化脚本,命名为 Script,通过开发环境快捷键中的记录器按钮启动 Rational Functional Tester 录制脚本功能;点击 ClassicsCD 应用程序中的 Details 标签,再点击 Album 标签,之后继续点击 Album 页面中的 Place Order 按钮;在弹出的 Member Logon 的对话框里点击 OK 按钮,呆到 Member Logon 对话框消失,再在 Place Order 对话框里面点击 Cancel 按钮。

简化的脚本是指易于用户理解和编辑的由简单的英语语句组成的功能性自动化测试脚本。使用记录器录制测试应用程序的操作时,就将会在脚本编辑器中生成并显示出简化的脚本。同时,用户可以在 Java 脚本中查看到生成的相应的 Java 测试脚本。下图 5 为按照上面的情景所生成的自动化测试脚本。


图 5. 简化的脚本与 Java 脚本
图 5. 简化的脚本与 Java 脚本

图 5 大图

在上图简化的脚本(Script. 标签)中,生成了三个 Java 代码片断:ClassicsCD、Member Logon 和 Place an Order。这三个 Java 代码片断是根据三个应用程序页面来界定的,每个 Java 代码片断中包括一些的 action,在 Java 脚本中以 setSimplifiedScriptLine() 语句的形式体现。用户如果编辑简化的脚本时,相应内容会在 Java 脚本中自动地反映更改。如果用户编辑 Java 脚本,则相应改变不会自动地反映在简化的脚本中。但是 Rational Functional Tester V8.1 提供了其它方式进行改变更新,用户可以通过使用简化的脚本中右键操作菜单提供的插入 Java 代码片段或插入 Java 方法功能来将简化的脚本中的更新反映到 Java 脚本中。下图 6 为简化的脚本中右键操作菜单。


图 6. 简化的脚本右键操作菜单
图 6. 简化的脚本右键操作菜单

上图为在简化的脚本中右键操作菜单中所提供了一些操作,包括:启用 / 停用行为、删除行为、插入 Java 代码片段、插入 Java 方法、插入注释等操作。选中 ClassicsCD 代码片断中所有的行为,右键中点击 Enable/Disable Action,则此代码片断中的所有行为均被停用,行为颜色置成灰色,得到如下图 7 所示脚本。


图 7. 启用行为
图 7. 启用行为

图 7 大图

点击自动化测试脚本下方的 Java 标签,进入 Java 脚本,弹出对话框,选择 Yes 保存脚本修改。从上图中的 Java 脚本中可以看到,停用的行为对应的代码均被更新为注释。转到简化的脚本,用户同样可以选中一个或多个已经停用的行为,右键菜单中通过 Enable/Disable Action 操作来重新启用行为。

若在简化的脚本中空白处右键菜单中点击 Insert Java Code Snippet 操作,则在简化的脚本中生成一个 Java 代码片断。用户可以通过鼠标拖拉将此代码片断在脚本中定位在 Member Logon 代码片断后面并重命名,得到如下图 8 所示简化的脚本。


图 8. 插入 Java Code Snippet
图 8. 插入 Java Code Snippet

图 8 大图

点击自动化测试脚本下方的 Java 标签并保存脚本修改。如上图中所示,Java 脚本中在 timerStop("MemberLogon_6") 后添加了注释,表明用户在 BEGIN java code snippetEND java code snippet 之间可以添加 code。

当用户需要在自动化测试脚本中添加 Java 方法时,可以通过在右键菜单选中 Insert Java Method,此 Java 方法被添加到简化的脚本中。被添加的 Java 方法无论在简化的脚本中处于什么的位置,均被添加到 Java 脚本中所有行为的后面,并可以被任何代码片断调用,如下图 9 所示,JavaModule1 和 JavaModule2 为所添加的方法。


图 9. 插入 Java 方法
图 9. 插入 Java 方法

除了上述的启用 / 停用行为、插入 Java 代码片段和插入 Java 方法这三种操作,右键菜单还提供插入注释、重复行为、插入条件等操作。通过简化的脚本所提供的这些功能,用户可以方便的对自动化测试脚本进行更新。

4. 通过 Application View 对脚本进行编辑的方法

在文章的第三章中介绍了简化的脚本编制的使用方法,在这一章中将继续介绍如何通过应用程序可视化视图进一步帮助用户简化自动化脚本的生成和编辑过程。

根据上一章的情景生成自动化测试脚本后,在应用程序可视化视图中同时生成了很多的应用程序 ClassicsCD 的截图。应用程序可视化视图分成左右两部分,当点击右侧小截图时,就会在左侧显示出其放大图。在左图中,用户通过对此图的操作,在即使不打开应用程序的情况下,也可以进行一些脚本操作,如插入应用程序控件,插入检查点(data 和 image),插入数据驱动命令,插入注释,以及更新视图等等。

4.1 通过 Application View 将应用程序控件插入脚本

应用程序控件(Application Control)指的是被测试的应用程序中可被 Rational Functional Tester V8.1 获取的控件。Rational Functional Tester V8.1 向用户提供 Properties 视图来描述应用程序控件,包括控件名称(Control name)、行为(Action)、此行为对应的行为参数(Action Parameters)、控件类型(Control type)、应用程序域(Application Domain)、控件声明(Control State)。其中,行为可以是点击、选择、设置等;行为参数通常是字符串;而对于 ClassicsCD,应用程序域为 Java。此外,Properties 视图还提供回放(Playback)和日志(Log)。用户可以通过回放设置等待此控件所需的时间、暂停执行的时间,以及异常处理;通过日志查看应用程序控件相关的具体测试日志。在默认状态下,Rational Functional Tester V8.1 支持的异常处理有 Object Not Found、Ambiguous、Weaken Recognition、Control item not found、Unexpected Error,在遇到这些异常的时候,用户可以选择停止自动化测试脚本回放、忽略异常继续回放自动化测试脚本、以及重新尝试。对于控件日志,用户可以选择日志中截图种类(Screen Snapshot、Control Snapshot)和日志所包含的信息内容(Information、Warning、Error)。

在 Rational Functional Tester V8.1 以前的版本中,用户只有在录制自动化脚本的时候通过记录器才能向脚本中插入应用程序控制。Rational Functional Tester V8.1 简化了此操作。如果要将应用程序控件插入自动化测试脚本,那么用户首先需要选择应用程序可视化视图中右边的截图,以 Member Logon 截图为例。在左侧图中右键点击名字选项框 nameCombo,在菜单中选择 nameCombo 插入控件,则子菜单中显示一些对该名字选项框的操作,包括 Select Item by Index、Select Item by Name、Click、Click at Text 和 Set Text。如下图 10 所示。


图 10. 将应用程序控件插入脚本
图 10. 将应用程序控件插入脚本

选中上图中的 Select Item by Name、nameCombo 控件被自动加到自动化测试脚本中。在简化的脚本中选中这个控件,则可以在下图所示的 Properties 视图中显示出 nameCombo 控件的属性。在 General 标签中 Action Parameters 框里的 String 输入框中输入应用程序 ClassicsCD,Full Name 下拉菜单中存在字符串作为参数,例如 Bill Wu,如下图 11 所示。


图 11. 控件属性
图 11. 控件属性

点击 Java 标签,转到 Java 脚本页面,nameCombo().select("Bill Wu") 现实已经被自动的添加到脚本中。这样运行脚本的时候,就会将 Full Name 选成 Bill Wu。当用户需要重新指定下拉菜单中的名字时,则不用修改 Java 脚本中的代码,而只需通过编辑控件属性中的 Action Parameters,就可以对代码进行编辑了。

4.2 通过 Application View 将数据和图像检查点插入脚本

在自动化测试中,用户可以通过为应用程序创建检查点来检验应用程序对象的属性是否与预期结果一致。为了创建检查点,用户需要获取应用程序对象的信息,把它设立为基线(Baseline),在回放自动化测试脚本时,可以将实际信息与检查点进行比较,并返回结果。在 Rational Functional Tester V8.1 中检查点分为三种,包括数据检查点、图像检查点和组检查点。数据检查点用来测试应用程序中显示的数据,比较这些数据是否有了变更;图像检查点用来测试应用程序中显示的图像,是严格的像素对像素验证,易于辨别可能的缺陷。而组检查点是为应用程序可视化对象的所有控件创建验证点,是 Rational Functional Tester V8.1 中新添加的概念。

与在自动化脚本中插入应用程序控制相类似,Rational Functional Tester V8.1 简化了将检查点插入脚本的操作。用户不再需要启动记录器,就可以完成操作。

选择应用程序可视化视图中右边中 Place an Order 截图。在左侧图中右键点击 Place an Order 框图中的空白处,菜单中选择插入检查点,则子菜单中显示 Data Verification Point(数据检查点)、Image Verifiction Point(图像检查点)和 Group Verification Point(组检查点)。选择插入组检查点,则 Place an Order 页面上所有检查点均被添加到脚本中,如下图 12 所示。


图 12. 将组检查点插入脚本
图 12. 将组检查点插入脚本

图 12 大图

当然,用户并不一定要将视图中所有的检查点添加到脚本,很可能需要将具体某个数据或图像的检查点插入脚本,那么可以通过选择插入 Data Verification Point 或 Image Verifiction Point 来完成。具体操作是:点击显示应用程序可视化视图中的 ClassicsCD,右键选中 Album tab 中的图片,在菜单中选中 Insert Verification Point 选项,再点击子菜单中的 Image Verification Point。如下图 13 所示,则图像检查点被添加到脚本中的 ClassicsCD 的代码片断下。


图 13. 将图像检查点插入脚本
图 13. 将图像检查点插入脚本

对于向自动化测试脚本中插入数据检查点,应用程序可视化视图也提供了类似的方法。以 Member Logon 为例,点击显示应用程序可视化视图中的 Member Logon,右键选中文字 Full Name,在菜单中选中 Insert Verification Point 选项,再选择子菜单中的 Data Verification Point。如下图 14 所示,则 Verify Label Visible Text of Full Name 将自动的被添加到简化的脚本中的 Member Logon 的代码片断下,Java 脚本也随之自动更新。


图 14. 将数据检查点插入脚本
图 14. 将数据检查点插入脚本

4.3 通过 Application View 将数据驱动命令插入脚本

数据驱动命令(Data Driven Command)指的是自动化测试脚本中不具体测试内容,而是每次运行脚本的时候,通过数据的值动态的对应用程序中的控件或对象进行测试。在 Rational Functional Tester V8.1 中,提供数据池(Test Datapool)来方便用户对数据进行更新。而数据池是测试数据的集合,可以在测试脚本回放期间向测试脚本中的变量提供数据值。与在自动化脚本中插入检查点的方法类似,Rational Functional Tester V8.1 使用户在不再需要启动记录器的情况下,就可以将数据驱动命令插入自动化测试脚本。

下面还以 Place an Order 为例。用户首先要选择应用程序可视化视图中右边中 Place an Order 截图。在左侧图中右键点击 Quantity 的输入框,菜单中选择 Insert Data Driven Commands 插入数据驱动命令,如下图 15 所示,则 setText Quantity from Datapool Column Quantity 自动的被添加到简化的脚本中的 Place an Order 的代码片断下,同时 Java 脚本中添加了 Java 语句 setSimplifiedScriptLine(22)Quantity().setText(dpString("Quantity "))


图 15. 将数据驱动命令插入脚本
图 15. 将数据驱动命令插入脚本

在简化的脚本中选中这个数据驱动命令,则在下图 16 所示的 Test Datapool 视图中出现 Quantity ::java.lang.String。用户不用修改 Java 脚本中的代码,只需通过修改数据池,就可以对代码进行编辑,比如 row0 中的 1 可以修改成 10。待到运行自动化脚本时,10 就会被应用到 Quantity 中。在数据池中,记录是数据池中的一行,而变量是数据池中的一列。为此,数据池还提供剪切、复制单元格、记录或变量。另外,数据池中的数据还可以从 .csv 文件导入,或被导出成 .csv 文件。


图 16. 数据池
图 16. 数据池

除了上述的插入应用程序控件、插入数据图像检查点和数据驱动命令外,应用程序可视化视图还可以支持插入注释、更新应用程序视图等操作。通过简化的脚本提供的这些功能,用户可以更方便的对 Java 脚本进行编辑和更新。

5. Storyboard 在简化自动化脚本的开发过程具有的优势

从文章的第三章和第四章可以知道,由简化的脚本编制和应用程序可视化视图组成的故事板 Storyboard 是 Rational Functional Tester V8.1 的一个重要的新特性。跟 Rational Functional Tester 的旧版本相比,8.1 版本大大的提高了用户编辑自动化脚本的效率。在旧版本中,对于不擅长代码编写的用户,由于需要代码调式和 API 调用,创建自动化脚本存在很大的困难。对于其它用户创建的脚本,也很难于理解。而向脚本中添加应用程序控件、数据和图像检查点以及数据数据驱动命令这些操作,则都需要用户在录制脚本的时候利用记录器所提供的方式来完成。这样,用户每次进行这些脚本编辑的时候,就需要开启记录器,这使脚本编辑的过程变的很繁琐。因此,虽然 Rational Functional Tester V8.1 以前的版本在架设框架、扩展方面有很大的优势,但在用户的入门使用方面却要难一些。故事板功能的出现把易用性提升到了一个新的高度,加之 Rational Functional Tester V8.1 支持更多的应用程序类型,如 Windows®、.NET、Java™、HTML、Siebel、SAP、Ajax、PowerBuilder、Flex、Dojo、Visual Basic 和 GEF 等,使得 Rational Functional Tester 在很多方面具备了优势,将大大提高其使用率。

 

结束语

本文主要介绍了如何使用 Rational Functional Tester V8.1 中的新增特性 - 故事板来帮助简化自动化脚本的开发。通过阅读这篇文章,用户可以清楚的了解简化的脚本编制和应用程序可视化视图的基本特征,学会如何启用简化的脚本编制和应用程序可视化视图,如何利用简化的脚本编制生成和编辑自动化测试脚本,以及如何从应用程序可视化视图中将应用程序控件、数据和图像检查点、数据数据驱动命令插入脚本。在故事板的帮助下,用户可以更容易的运用 Rational Functional Tester V8.1 完成自动化测试脚本的编辑,从而提高整个自动化测试的工作效率。

原文链接:http://www.ibm.com/developerworks/cn/rational/r-cn-rft8storyboard/index.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780873/viewspace-670090/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14780873/viewspace-670090/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值