RIATest 是一个 Flex 自动化 GUI 测试工具,它刚刚公开发布了 Beta 版。InfoQ 为此采访了 RIATest 的创造者 Tigran Najaryan。
Najaryan 首先谈到了创造 RIATest 的目的:
RIATest 是一个用来对 Adobe Flex 3 程序进行自动化 GUI 测试的工具。创造 RIATest 的目的是为了给商业和专业开发者提供一个简单、干净的测试自动化方案,帮助他们保证产品的质量。我们在定价上非常激进,一心把测试自动化带给更多的 Flex 用户,而这些用户以前都负担不起其它的 Flex 测试自动化方案。
说到 RIATest 如何工作的时候,Najaryan 解释说:
从技术上看,RIATest 由两部分组成:Agent 和 IDE(或者命令行执行器 )。Agent 呆在浏览器一方,直接与被测程序打交道。Agent 提供了组件查看器(Component Inspector),让你检查和监视被测程序的 GUI 组件及其属性。Agent 还通过 TCP 连接与 IDE 相连。Agent 与 IDE 在回放期间(IDE 向 Agent 发送指令并接收结果)以及录制期间(Agent 把录下的动作通知给 IDE)都经由这个 TCP 连接相互沟通。
测试脚本是用 RIAScript 语言写的。RIAScript 是一个简化版的 ActionScript(另有些微扩展)——因此熟悉 ActionScript 的开发者很容易学会编写 RIATest 的测试脚本。
RIATest 是用什么开发的?Najaryan 回答说:
RIATest 从一开始就是作为 Flex 3 测试自动化工具来设计的,它使用了 Flex 的测试自动化框架。RIATest IDE 是用 C++ 和 wxWidgets 库写的。RIATest Agent 是用 Flex 3 开发的。
由于现在已经可以见到不少 Flex 测试工具,所以 InfoQ 请 Najaryan 将 RIATest 与其它工具比如 FlexUnit 作一下比较:
RIATest 作为一个自动化 GUI 测试工具,与单元测试等其他测试手段是相辅相成的。必须通过多种自动化测试手段才能得到最高质量的保证,自动化 GUI 测试和单元测试都包括在内。
谈到如何测试连通性,如 HTTP 请求和 SOAP 连接:
RIATest 内建了按照指定条件自动或手动进行同步的功能,因此即使程序需要与远程数据源通信,RIATest 也能完全胜任自动化测试的工作。QA 工程师可以通过“‘waitfor’”操作让测试脚本与被测程序的组件状态同步。
最后,Najaryan 给出了一段测试脚本的例子:
评论