目录:
要求
预备知识
熟悉基本测试自动化概念将极有帮助。为了给示例应用程序引入缺陷,必须掌握 Flex 应用程序和 Flash Builder 的知识。
必须的产品
- Flash Builder 下载试用版
示例文件
其他必须产品
RIATest 4
这篇文章解释了如何开始使用 RIATest 4 测试您的 Flex 应用程序。RIATest(如图 1 所示)是一种多平台的测试自动化工具,它利用 Flex Automation Framework 来自动化用户与 Flex 应用程序内的 GUI 组件的交互。它使用一种类似于 ActionScript 的简单脚本语言。RIATest 可以自动化 Flex 2、Flex 3、Flex 4.x 和 Flex 4.5.x 应用程序。它同时支持基于浏览器的 AIR 应用程序和桌面 AIR 应用程序。
图 1.启动后的 RIATest 4。
在这篇文章中,您将为一个基于浏览器的基本 Calculator 应用程序创建并执行一项自动化测试,此应用程序包含在本文的示例文件中。
要测试 Flex 应用程序,您需要执行以下四个步骤:
- 创建一个 RIATest 项目。
- 记录一次测试。
- 运行测试。
- 检查结果。
创建一个 RIATest 项目
用于您的应用程序的一组测试脚本称为一个 _ 项目 _。项目定义了脚本本身及其执行顺序。在 RIATest 中,Project View 显示了 Project Tree,其中包含项目内的所有脚本。您可以将脚本划分为组。可以通过在树中拖放脚本项来更改脚本的排序(这也会更改执行顺序)。
在创建第一个项目之前,您需要设置一个要测试的 Flex 应用程序。下载本文的示例文件 Calculator.zip,并将其导入 Flash Builder。
接下来,在下载并安装了 RIATest 之后,按照以下步骤来创建第一个项目:
- 启动 RIATest 4 并选择 File > New Project。
图 2. New Project 对话框。
-
在 New Project 对话框(如图 2 所示)中,选择 Flex Application Testing 作为 Project Type。
-
键入 Calculator 作为 Project name。
-
指定一个项目文件夹,此文件夹将用于存储项目资源。
-
选择 In Browser, Using Local Loader 作为 Loading Type。
这是适用于 Flex 应用程序的最简单的 Loading Type 选项。在选中此选项时,RIATest 将在浏览器中打开一个特殊的预加载器,即 Runtime Loader,它随即加载您的应用程序 SWF 文件,以便进行测试。 -
选择您要测试的应用程序 SWF 文件,并选择用于构建它的 Flex SDK。
-
单击 OK。
此时将在指定的位置创建一个新的 RIATest 项目,同时也会为其添加一个空白的 Startup.rts 测试脚本(如图 3 所示)。
图 3. 带有空白 Startup.rts 脚本的新项目。
现在,您可以启动 Flex 应用程序,准备记录您的第一次测试。
- 单击工具栏中绿色的 Launch 按钮。
浏览器将打开,应用程序将加载。您可以在浏览器中看到 Calculator 应用程序,外观与平时完全一致。除此之外,还可以看到 RIATest Agent 工具栏。Agent 工具栏标题表示 RIATest 已经就绪(Ready)(如图 4 所示)。
图 4. 所测试的应用程序正在浏览器中运行。
记录测试
现在,您就可以开始记录测试。
- 单击 Agent 工具栏上的红色 Record 按钮(如图 5 所示)。
图 5. Agent 工具栏上的 Record 按钮。
此时,您可以开始与 Flex 应用程序交互,就像正常使用应用程序一样。您的所有操作都将被记录下来。对于本示例来说,您将计算 12+15,随后使用 Radix 下拉列表将其转换为十六进制。
- 依次单击 1、2、+、1、5 和 = 按钮。
- 选择 Hex 作为 Radix。
- 单击 Record 按钮停止记录,并返回 RIATest IDE 查看已经记录的内容(如图 6 所示)。
图 6. 所记录的测试脚本。
如您所见,这里记录了几行脚本。每行都对应于您对该应用程序执行的一项操作。例如,在单击下拉列表的下箭头时,记录了第 7 行。
SparkDropDownList("radix")=>open();
这一行表示,对名为 radix 的一个 SparkDropDownList 组件执行了 _open_ 操作。
接下来,您将为测试添加一条验证语句。验证语句通常是在您希望 RIATest 在测试执行过程中验证应用程序用户界面组件的某些属性时添加到测试之中的。如果属性与预期值不匹配,则将报告故障。有多种不同的验证语句,RIATest 手册中记录了这些语句。在本例中,您将使用一条基本验证语句验证计算的结果。
-
返回 Flex 应用程序,再次启动记录。
要为计算结果字段添加验证,您应使用 RIATest Inspect 函数,并指向希望验证的结果字段。 -
单击 Agent 控制栏上的 Inspat 按钮。
-
将鼠标指针移动到结果字段。可以看到,在移动指针的过程中,突出显示了各种组件。
-
对于本示例,请单击结果组件 SparkTextInput(“editNum”)。此时将出现 RIATest Object Inspector(如图 7 所示)。
图 7. RIATest Object Inspector 窗口。
在左侧可以看到 GUI 组件树,选中了 editNum 字段,右边则列出了该组件的属性。
接下来,您将为结果字段的 text 属性添加验证,确保其值为 1B 。
-
单击绿色的 Verify 按钮。
此时将出现另外一个窗口,列出了结果文本字段的属性(如图 8 所示)。 -
选择您希望在测试过程中验证的属性。默认情况下将选择 text 属性,因此只需单击 OK 即可。
图 8. 选择要验证的属性的界面。
- 返回 RIATest IDE。
可以看到已经创建了一条 verifyEqual 语句(如图 9 所示)。这条语句将在测试回放过程中验证 editNum 元素的 text 属性。
图 9. 新的 verifyEqual 语句。
至此您已经完成了第一次测试的记录。
- 停止记录,单击 Terminate 按钮关闭浏览器。
运行测试并检查结果
您已经创建了一个项目并且记录了第一次测试。现在,即可运行测试并查看结果。
- 单击 RIATest 中的 Run 按钮。
此时将打开浏览器窗口,应用程序将载入,并且将对应用程序执行您之前记录的操作。等待测试完成,浏览器窗口关闭。
测试的结果显示在 RIATest IDE 中。可以看到测试的持续时间,而且整体结果为 ALL OK(如图 10 所示)。
注意: 如果您正在使用试用版的 RIATest,您将看到 WARNINGS FOUND,而不是 ALL OK,在执行日志中将看到一条警报,提醒您试用版的过期时间。
结果中还包含启动、关闭和项目中各脚本的统计信息。在本例中,项目中仅有一个脚本。您可以看到执行了 8 项操作和 1 次验证。
图 10. 测试结果。
-
单击脚本名称 (Startup.rts) 查看脚本的执行详情(如图 11 所示)。
您可以看到操作以及您之前定义的一项验证。如果单击行号,RIATest 将显示对应于消息的实际叫本行。 -
单击第 9 行。
您可以看到之前创建的 verifyEqual 语句所生成的验证。
图 11. 脚本的执行日志。
要查看 RIATest 如何报错,您需要更改应用程序,使之无法正常工作。
- 首先在 Flash Builder 中打开 Calculator.mxml 文件。
- 在 Calc() 函数中找到以下行:
case '+': res = lastVal + val; break;
- 使用以下代码替换这一行:
case '+': res = lastVal + val + 1; break;
-
生成应用程序。
现在即可再次运行测试,看看 RIATest 如何识别应用程序中的问题。 -
在 RIATest 中单击 Run 按钮。
测试将开始运行,随后显示 RIATest IDE(如图 12 所示)。您可以看到,执行在 verifyEqual 语句处停止,同时显示了一条错误消息。这条消息表示,editNum 字段的文本与预期值不匹配。
图 12. RIATest 中识别的错误。
- 要继续执行,请再次单击 Run 按钮。
测试的结果现表明发现了错误(如图 13 所示)。
图 13. 失败测试的结果。
- 向下滚动,您将看到第 9 行生成了错误。
后续内容
至此,本文的内容已经结束。您成功创建了一个简单的 RIATest 项目、记录了一次测试、运行了测试并检查了结果。
请抽几分钟的时间进一步研究一下 RIATest。您可以右键单击项目并选择 Add New Script 来创建新测试。您可能希望创建另外一个项目,开始测试您自己的 Flex 应用程序。
若手动执行,基本测试和递归测试可能极为耗时、易于出错。使用 RIATest 自动化这些测试是一种直接的节约时间的方法,可确保您的测试每一次都能准确完成。
有关 RIATest 的更多信息,请访问 www.riatest.com* 。
本文基于 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License* 协议发布。
评论