热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用RIATest4测试Flex应用程序

目录\u0026#xD;\n创建一个RIATest项目\u0026#xD;\n记录测试\u0026#xD;\n运行测试并检查结果\u0026#xD;\n后续内容\u0026#xD;

目录

\u0026#xD;\n
  • 创建一个 RIATest 项目\u0026#xD;\n
  • 记录测试 \u0026#xD;\n
  • 运行测试并检查结果\u0026#xD;\n
  • 后续内容\u0026#xD;\n

要求

\u0026#xD;\n

预备知识

\u0026#xD;\n

熟悉基本测试自动化概念将极有帮助。为了给示例应用程序引入缺陷,必须掌握 Flex 应用程序和 Flash Builder 的知识。

\u0026#xD;\n

用户级别

\u0026#xD;\n

中级

\u0026#xD;\n

必须的产品

\u0026#xD;\n
  • Flash Builder (下载试用版)\u0026#xD;\n

示例文件

\u0026#xD;\n
  • Calculator.zip\u0026#xD;\n

其他必须产品

\u0026#xD;\n

RIATest 4

\u0026#xD;\n
  • 下载(Windows 版本)\u0026#xD;\n
  • 下载(Mac OS X 版本)\u0026#xD;\n

这篇文章解释了如何开始使用 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 应用程序。

\u0026#xD;\n

\

\u0026#xD;\n

图 1. 启动后的 RIATest 4。

\u0026#xD;\n

在这篇文章中,您将为一个基于浏览器的基本 Calculator 应用程序创建并执行一项自动化测试,此应用程序包含在本文的示例文件中。

\u0026#xD;\n

要测试 Flex 应用程序,您需要执行以下四个步骤:

\u0026#xD;\n
  1. 创建一个 RIATest 项目。\u0026#xD;\n
  2. 记录一次测试。\u0026#xD;\n
  3. 运行测试。\u0026#xD;\n
  4. 检查结果。\u0026#xD;\n

创建一个 RIATest 项目

\u0026#xD;\n

用于您的应用程序的一组测试脚本称为一个项目。项目定义了脚本本身及其执行顺序。在 RIATest 中,Project View 显示了 Project Tree,其中包含项目内的所有脚本。您可以将脚本划分为组。可以通过在树中拖放脚本项来更改脚本的排序(这也会更改执行顺序)。

\u0026#xD;\n

在创建第一个项目之前,您需要设置一个要测试的 Flex 应用程序。下载本文的示例文件 Calculator.zip,并将其导入 Flash Builder。

\u0026#xD;\n

接下来,在下载并安装了 RIATest 之后,按照以下步骤来创建第一个项目:

\u0026#xD;\n
  1. 启动 RIATest 4 并选择 File \u0026gt; New Project。\u0026#xD;\n

\

\u0026#xD;\n

图 2. New Project 对话框。

\u0026#xD;\n 在 New Project 对话框(如图 2 所示)中,选择 Flex Application Testing 作为 Project Type。\u0026#xD;\n 键入 Calculator 作为 Project name。\u0026#xD;\n 指定一个项目文件夹,此文件夹将用于存储项目资源。\u0026#xD;\n 选择 In Browser, Using Local Loader 作为 Loading Type。\u0026#xD;\n

这是适用于 Flex 应用程序的最简单的 Loading Type 选项。在选中此选项时,RIATest 将在浏览器中打开一个特殊的预加载器,即 Runtime Loader,它随即加载您的应用程序 SWF 文件,以便进行测试。

\u0026#xD;\n 选择您要测试的应用程序 SWF 文件,并选择用于构建它的 Flex SDK。\u0026#xD;\n 单击 OK。\u0026#xD;\n

此时将在指定的位置创建一个新的 RIATest 项目,同时也会为其添加一个空白的 Startup.rts 测试脚本(如图 3 所示)。

\u0026#xD;\n

\

\u0026#xD;\n

图 3. 带有空白 Startup.rts 脚本的新项目。

\u0026#xD;\n

现在,您可以启动 Flex 应用程序,准备记录您的第一次测试。

\u0026#xD;\n 单击工具栏中绿色的 Launch 按钮。\u0026#xD;\n

浏览器将打开,应用程序将加载。您可以在浏览器中看到 Calculator 应用程序,外观与平时完全一致。除此之外,还可以看到 RIATest Agent 工具栏。Agent 工具栏标题表示 RIATest 已经就绪(Ready)(如图 4 所示)。

\u0026#xD;\n

\

\u0026#xD;\n

图 4. 所测试的应用程序正在浏览器中运行。

\u0026#xD;\n

记录测试

\u0026#xD;\n

现在,您就可以开始记录测试。

\u0026#xD;\n
  1. 单击 Agent 工具栏上的红色 Record 按钮(如图 5 所示)。\u0026#xD;\n

\

\u0026#xD;\n

图 5. Agent 工具栏上的 Record 按钮。

\u0026#xD;\n

此时,您可以开始与 Flex 应用程序交互,就像正常使用应用程序一样。您的所有操作都将被记录下来。对于本示例来说,您将计算 12+15,随后使用 Radix 下拉列表将其转换为十六进制。

\u0026#xD;\n 依次单击 1、2、+、1、5 和 = 按钮。\u0026#xD;\n 选择 Hex 作为 Radix。\u0026#xD;\n 单击 Record 按钮停止记录,并返回 RIATest IDE 查看已经记录的内容(如图 6 所示)。\u0026#xD;\n

\

\u0026#xD;\n

图 6. 所记录的测试脚本。

\u0026#xD;\n

如您所见,这里记录了几行脚本。每行都对应于您对该应用程序执行的一项操作。例如,在单击下拉列表的下箭头时,记录了第 7 行。

\u0026#xD;\n

\u0026#xD;\nSparkDropDownList(\"radix\")=\u0026gt;open();\u0026#xD;\n

这一行表示,对名为 radix 的一个 SparkDropDownList 组件执行了 open 操作。

\u0026#xD;\n

接下来,您将为测试添加一条验证语句。验证语句通常是在您希望 RIATest 在测试执行过程中验证应用程序用户界面组件的某些属性时添加到测试之中的。如果属性与预期值不匹配,则将报告故障。有多种不同的验证语句,RIATest 手册中记录了这些语句。在本例中,您将使用一条基本验证语句验证计算的结果。

\u0026#xD;\n \u0026#xD;\n 返回 Flex 应用程序,再次启动记录。\u0026#xD;\n

要为计算结果字段添加验证,您应使用 RIATest Inspect 函数,并指向希望验证的结果字段。

\u0026#xD;\n 单击 Agent 控制栏上的 Inspat 按钮。\u0026#xD;\n 将鼠标指针移动到结果字段。可以看到,在移动指针的过程中,突出显示了各种组件。\u0026#xD;\n 对于本示例,请单击结果组件SparkTextInput(\"editNum\")。此时将出现 RIATest Object Inspector(如图 7 所示)。\u0026#xD;\n

\

\u0026#xD;\n

图 7. RIATest Object Inspector 窗口。

\u0026#xD;\n

在左侧可以看到 GUI 组件树,选中了 editNum 字段,右边则列出了该组件的属性。

\u0026#xD;\n

接下来,您将为结果字段的 text 属性添加验证,确保其值为 1B。

\u0026#xD;\n \u0026#xD;\n 单击绿色的 Verify 按钮。\u0026#xD;\n

此时将出现另外一个窗口,列出了结果文本字段的属性(如图 8 所示)。

\u0026#xD;\n \u0026#xD;\n 选择您希望在测试过程中验证的属性。默认情况下将选择 text 属性,因此只需单击 OK 即可。\u0026#xD;\n

\

\u0026#xD;\n

图 8. 选择要验证的属性的界面。

\u0026#xD;\n 返回 RIATest IDE.\u0026#xD;\n

可以看到已经创建了一条 verifyEqual 语句(如图 9 所示)。这条语句将在测试回放过程中验证 editNum 元素的 text 属性。

\u0026#xD;\n

\

\u0026#xD;\n

图 9. 新的 verifyEqual 语句。

\u0026#xD;\n

至此您已经完成了第一次测试的记录。

\u0026#xD;\n \u0026#xD;\n 停止记录,单击 Terminate 按钮关闭浏览器。\u0026#xD;\n

运行测试并检查结果

\u0026#xD;\n

您已经创建了一个项目并且记录了第一次测试。现在,即可运行测试并查看结果。

\u0026#xD;\n
  1. 单击 RIATest 中的 Run 按钮。\u0026#xD;\n

    此时将打开浏览器窗口,应用程序将载入,并且将对应用程序执行您之前记录的操作。等待测试完成,浏览器窗口关闭。

    \u0026#xD;\n

    测试的结果显示在 RIATest IDE 中。可以看到测试的持续时间,而且整体结果为 ALL OK(如图 10 所示)。

    \u0026#xD;\n

    注意:如果您正在使用试用版的 RIATest,您将看到 WARNINGS FOUND,而不是 ALL OK,在执行日志中将看到一条警报,提醒您试用版的过期时间。

    \u0026#xD;\n

    结果中还包含启动、关闭和项目中各脚本的统计信息。在本例中,项目中仅有一个脚本。您可以看到执行了 8 项操作和 1 次验证。

    \u0026#xD;\n

    \

    \u0026#xD;\n

    图 10. 测试结果。

    \u0026#xD;\n \u0026#xD;\n
  2. 单击脚本名称 (Startup.rts) 查看脚本的执行详情(如图 11 所示)。\u0026#xD;\n

    您可以看到操作以及您之前定义的一项验证。如果单击行号,RIATest 将显示对应于消息的实际叫本行。

    \u0026#xD;\n \u0026#xD;\n
  3. 单击第 9 行。\u0026lt;\u0026#xD;\n

    您可以看到之前创建的 verifyEqual 语句所生成的验证。

    \u0026#xD;\n

    \

    \u0026#xD;\n

    图 11. 脚本的执行日志。

    \u0026#xD;\n

    要查看 RIATest 如何报错,您需要更改应用程序,使之无法正常工作。

    \u0026#xD;\n \u0026#xD;\n
  4. 首先在 Flash Builder 中打开 Calculator.mxml 文件。\u0026#xD;\n
  5. 在 Calc () 函数中找到以下行:\u0026#xD;\n

    \u0026#xD;\ncase '+': res = lastVal + val; break; \u0026#xD;\n \u0026#xD;\n

  6. 使用以下代码替换这一行:\u0026#xD;\n

    \u0026#xD;\ncase '+': res = lastVal + val + 1; break; \u0026#xD;\n \u0026#xD;\n

  7. 生成应用程序。\u0026#xD;\n

    现在即可再次运行测试,看看 RIATest 如何识别应用程序中的问题。

    \u0026#xD;\n \u0026#xD;\n
  8. 在 RIATest 中单击 Run 按钮。\u0026#xD;\n

    测试将开始运行,随后显示 RIATest IDE(如图 12 所示)。您可以看到,执行在 verifyEqual 语句处停止,同时显示了一条错误消息。这条消息表示,editNum 字段的文本与预期值不匹配。

    \u0026#xD;\n

    \

    \u0026#xD;\n

    图12. RIATest 中识别的错误。

    \u0026#xD;\n \u0026#xD;\n
  9. 要继续执行,请再次单击 Run 按钮。\u0026#xD;\n

    测试的结果现表明发现了错误(如图 13 所示)。

    \u0026#xD;\n

    \

    \u0026#xD;\n

    图 13. 失败测试的结果。

    \u0026#xD;\n \u0026#xD;\n
  10. 向下滚动,您将看到第 9 行生成了错误。\u0026#xD;\n

后续内容

\u0026#xD;\n

至此,本文的内容已经结束。您成功创建了一个简单的 RIATest 项目、记录了一次测试、运行了测试并检查了结果。

\u0026#xD;\n

请抽几分钟的时间进一步研究一下 RIATest。您可以右键单击项目并选择 Add New Script 来创建新测试。您可能希望创建另外一个项目,开始测试您自己的 Flex 应用程序。

\u0026#xD;\n

若手动执行,基本测试和递归测试可能极为耗时、易于出错。使用 RIATest 自动化这些测试是一种直接的节约时间的方法,可确保您的测试每一次都能准确完成。

\u0026#xD;\n

有关 RIATest 的更多信息,请访问 www.riatest.com。

\u0026#xD;\n

\

\u0026#xD;\n

本文遵守知识共享—署名-非商业性使用-相同方式共享3.0 Unported License (Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License)许可条件。

\u0026#xD;\n

查看原文:Flex application testing with RIATest 4


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • OpenCV4.5.0+contrib编译流程及解决错误方法
    本文介绍了OpenCV4.5.0+contrib的编译流程,并提供了解决常见错误的方法,包括下载失败和路径修改等。同时提供了相关参考链接。 ... [详细]
  • AndroidJetpackNavigation基本使用本篇主要介绍一下AndroidJetpack组件Navigation导航组件的基本使用当看到Navigation单词的时候应 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • C# WPF自定义按钮的方法
    本文介绍了在C# WPF中实现自定义按钮的方法,包括使用图片作为按钮背景、自定义鼠标进入效果、自定义按压效果和自定义禁用效果。通过创建CustomButton.cs类和ButtonStyles.xaml资源文件,设计按钮的Style并添加所需的依赖属性,可以实现自定义按钮的效果。示例代码在ButtonStyles.xaml中给出。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Thisworkcameoutofthediscussioninhttps://github.com/typesafehub/config/issues/272 ... [详细]
  • RDD创建后就可以在RDD上进行数据处理。RDD支持两种操作:1.转换(transformation):即从现有的数据集创建一个新的数据集2.动作&#x ... [详细]
author-avatar
战冰_斗雪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有