Flash/Flex 自动测试插件 为Ranorex自动测试框架及其工具提供了平滑的集成。你可以使用RanoreXPath轻易地过滤,访问和验证Flex控件. 你对Flash和Flex元素的所有属性都可以进行访问。
自动化Flash/Flex应用需要包含Ranorex Flex Automation Lib.
一个flash/flex 测试的例子项目已经在Ranorex安装包里面包含了,你可以在ranorex studio启动页中看到。How to read/set attributes and styles
根据你的flash/flex应用的不同,你可以选择下面一种调制方法:
Ranorex PreLoader 使得不用更改你的应用就可以进行flash/flex应用的自动测试。
AutomationLib swc 文件需要被包含到你的flash/flex 应用 (通过添加编译器参数).
Module swf 文件加载需要添加一些代码到你的ACTIONS (for flash) 或者到你的‘applicationCompleteHandler’ function (for flex).
下面的表格展示了对各种版本flash/flex进行技术调制的可用选项
Flash | Flex | AIR* | |||||
CS3 | CS4 | CS5 | 3.X | 4.X | 2.X | 3.X | |
---|---|---|---|---|---|---|---|
PreLoader | |||||||
Automation Lib | |||||||
Module |
* Support for Adobe AIR 2 Release in combination with Flex 3.5 and Flex 4 Release
= supported | |
= recommended |
Ranorex自动化测试Flash/Flex 控件
通过ranorex spy可以很容易看到flash/flex的结构. 所有的嵌入的flash或者flex元素都会在树视图中显示为一个flex元素.
使用Ranorex Recorder 在所有支持的浏览器中自动化 Flash/Flex 应用 (Internet Explorer, Firefox, Chrome 和 Safari). 你可以添加用户代码的动作到你的录制中从而访问自定义的flex属性.
图:自动化 Flash/Flex 应用
你可以直接通过使用如下这样的adapter来读写普通属性 (例如,checkbox的状态):
访问普通属性和样式,你首先需要加载你的flex条目为FlexElement以便读取你的属性。这里有一个例子:
使用Ranorex PreLoader
请按安装向导的提示,在您的电脑启用PreLoader。
图:Flash/Flex 调制向导
按照向导来执行以下步骤:
1 在安装有Adobe Debug Flash Player的电脑上,你可以在所有的浏览器上对Ranorex 脚本进行录制和执行。Adobe的下载页可以下载安装程序;下面的链接可以下载针对Internet Explorer(Windows 8 x86和Windows 8 x64)/Firefox /chrome/ Safari等浏览器的the Debug Player工具。
2 打开你的用户配置文件目录%USERPROFILE%,例如:打开Windows资源管理器,并且把字符串%UserProfile%复制到地址栏里。
3 在你的用户配置文件目录中创建一个名为‘mm.cfg’的文件,并插入下面这行代码,其中“ C:\FlashFlex\RanorexAutomation.swf ‘需要替换到你的Ranorex安装目录下:
PreloadSwf= C:\Program Files\Ranorex 3.X\Bin\RanorexAutomation.swf
你可以通过附加项的设置来启用Adobe Debug Flash Player的日志记录,如果出现各种问题,日志记录是非常有用的。在这种情况下,你可以把日志记录给我们的支持团队。要启用日志记录,你必须添加以下代码行到你的‘mm.cfg’的文件里:
TraceOutputFileEnable=1
该附加配置项会强制Debug Player在C:\Users\username\AppData\Roaming\Macromedia\Flash Player\Logs中创建日志文件
4 如果你的程序是在本地驱动器上运行的,添加输出目录到Flash Player的受信位置,如下所示:
1.打开下面这个链接
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065
2. 添加你的项目输出目录
Adobe Flex:加载Ranorex类库到你的Flex应用程序中
1.启动Adobe Flex Builder并且打开你的工作空间
2.右键单击你的项目,并选择“属性”
3. 在Flex编译器中添加Ranorex的Automation.swc文件(位于你安装的Ranorex的Bin目录下),编译参数如下:
-include-libraries “C:\Program Files\Ranorex 3.X\Bin\RanorexAutomation.swc”
4. 对于 AIR2: 将下列代码追加到你的 ‘applicationCompleteHandler’ 函数:
import Ranorex.RxAutomation;
RxAutomation.Init();
5 保存并编译你的程序
6 在支持你的应用程序的浏览器中(Internet Explorer, Firefox, Chrome, Safari)运行
7 如果你是从本地驱动器运行你的Flex程序,需要把Flash Player的输出目录添加到受信任的位置,如下:
1. 打开下面这个链接
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065
2. 添加你的项目输出目录
Adobe Flash:把Ranorex类库加载到你的Flash应用程序中
1 运行Adobe Flash CS4/CS5并打开你的应用程序
2 打开“Publish Settings”对话框(File->Publish Settings)
3 把Ranorex Flash Library放到你的Flash应用程序下
Flash->Script->Settings…->Library Path 并且选择 ‘Browse to SWC file’
4 在浏览器对话框中选择“ Ranorex Automation.swc ‘文件,( RanorexAutomation.swc位于你安装Ranorex的Bin目录下)
5 把下面的代码插入到你的ACTIONS里(通过按键 F9):
import Ranorex.RxAutomation;
RxAutomation.InitFromApp(stage);
或把下面的代码添加到你的ActionScript源文件里:
import mx.controls.*;
import flash.events.*;
import flash.display.*;
import flash.ui.Keyboard;
import flash.geom.Rectangle;
import fl.events.SliderEvent;
// Add Ranorex library
import Ranorex.RxAutomation;
public class Simple extends MovieClip
{
public function Simple()
{
// Add to your constructor
RxAutomation.InitFromApp(stage);
}
}
6 运行支持你的应用程序对应的浏览器(Internet Explorer, Firefox, Chrome, Safari)
7.如果你是从本地驱动器运行你的应用程序,需要把Flash Player的输出目录添加到受信任的位置,如下:
1.打开这个链接
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065
2.添加你的项目输出路径
对于 Flex 4: