- 威望
- 131 点
- 义气
- 50 点
|
当RIATest工具初出来时我就记住了它,该解决方案虽伴随着许多bug,配置问题等等,但依然非常有前途。目前有V1、V2和最新的里程碑,而3.1版针对企业级似乎是一个极有价值的工具。我开始尝试试用,编写些简单的Flex应用程序,再写个测试案例来验证该GUI功能。
安装
下载安装太简单了,就不多说了。
开始测试
创建简单地Flex应用。
- 打开FlexBuilder,创建一个新的Flex Web Project,配置路径,服务器等。
- 复制RIATestLoader到应用程序的root文件夹,有三个文件在RiaTest安装路径下\loader\sdk*.*——使用正确的SDK版本!
- 到设计模式,添加简单的控制,一个典型的工作流程:文本框,添加按钮,删除按钮并列出所有项。为每个组件注册id——这步很重要!
- 添加些代码,函数:add, delete——参见附件
现在可以测试我们的应用程序。主要有两条测试要求:
- 当用户点击添加按钮,将textinput的文本添加至列表中。
- 当用户选择列表的某项,并点击删除按钮应该可以从列表中移除。
运行RiaTest3,增加新的项目,将其保存到我们的Flex项目文件夹。单击配置和设置:
- 加载类型:在浏览器中,使用remote loader远程加载器
- 应用程序SWF文件URL:用flex项目的路径
- 远程加载器URL:root文件夹+ loader html路径
在上部主工具条上点击“Launch application under test”在测试模式下启动应用程序,然后会打开默认的浏览器,该应用程序被加载至RIALoader中。现在我们可以在右侧看到RiaTestLoader按钮,低部:Record, Inspect 和 Verify。
点击“Record”正常运行应用程序:添加三个条目至列表,接着删除第一个和第三个。再点击“Record”关掉进程。现在我们的RiaTest3应用中就已准备好测试脚本。请保存脚本并将其添加到测试,通过在项目上点击右键,选择添加已存在的脚本,选择文件并确定。
结果
非常漂亮:工作了3分钟,我们第一个测试案例就可以准备使用了。在上部主工具栏上点击Play,接下来我们看看它是如何自动化地为你处理这项工作。
我们可以看到RiaTest在某种程度上是一种半面向对象的脚本语言:- FlexButton(“Add”)=>click();
- FlexTextArea(“newItemText”)=>keyPress(KEY_BACKSPACE);
- FlexTextArea(“newItemText”)=>textSelectionChange(0,6);
复制代码 相当简单,易于理解。
在这一点上值得一提的是取消自动化命名并且采用Flex Automation来定位组件。
幸运的是,采用特殊的类Locator来协助定位:- “new Locator({automationClassName:”FlexButton”, automationName: “OK”})”
复制代码 这是记录和回放的方法,但是如何手动增加些测试脚本行呢?让我们添加一些缺少的功能:
- 只有textInput中的内容不为空时条目才能被添加至列表,如果为空则给出适当的消息提示框
- 在点击删除按钮以前列表中的条目必须有被选择了的,如果没有选项则给出消息提示框。
每个人都与对话框,消息框打过交道,而当测试自动化时如何发出警告呢?怎么做?很意外的是处理同样很简单,添加下面这样的代码:- var alert1 = FlexAlert(“index:6″);
- verifyEqual(isPresent(alert1), true);
- FlexButton(“OK”)=>click();
复制代码 用object inspector来获得警告id(index),就是这么简单容易。完整的解决方案在ZIP附件中。
总结
RIATest 3针对大型测试工具是很好的。上手很容易,没有复杂地配置,安装和设置——这是非常重要的。你可以用499 $购买,不便宜,但是如果你用其它免费的测试解决方案在测试和配置上所花费的大量时间,这个钱算起来也还是值得的。
Links
Example RIATestProject.zip – 包括源代码.
What is new – http://www./products/whatsnew.html
RIATest Documentation – http://www./onlinedocs/v3/Contents.html
RIATest Forum – http://www./forums.html |
|