The
Flash/Flex Test Automation Plugin provides
a smooth integration with the Ranorex Automation Framework and its
tools. You can easily filter, access and validate Flex controls easily
using RanoreXPath. You have full access to all the properties and attributes of Flash and Flex elements.
Methods for loading the Automation Lib
Depending on your flash/flex application, you can choose to use one of the following flexible instrumentation methods:
The Ranorex PreLoader enables automation of your flash/flex application without modifying the application itself.
The AutomationLib swc file has to be included into your flash/flex application (by adding a compiler argument).
- AutomationLib will be loaded in background (will not affect the functionality of your flash/flex application)
- No modifications to your website needed
The Module swf file has to be loaded by adding a code snippet to your ACTIONS (for flash) or to your "applicationCompleteHandler" function (for flex).
- Module will be loaded in background (will not affect the functionality of your flash/flex application)
- No modifications to your website needed
- Module swf has to be copied to the web server
The following table shows you the different instrumentation options available for the supported versions of flash/flex (
= supported,
= recommended):
* Support for Adobe AIR 2 Release in combination with Flex 3.5 and Flex 4 Release
Test Automation of Flash/Flex controls with Ranorex
The architecture of a Flash/Flex object is easy to see within Ranorex Spy. All embedded Flash or Flex elements are shown as a Flex element in the tree view.
Use Ranorex Recorder to automate Flash/Flex applications in Internet Explorer and Firefox. You can add user code actions to your recordings to access custom Flex properties.
How to read/set attributes and styles
You can read/set common attributes (e.g. the checkstate of a checkbox) directly by using the adaptor as follows:
// Set the checked state with the property "Checked"
repo.FlexTestPageDom.CheckBox_Control_Example.CheckBoxEggs.Checked = true;
To access custom attributes and styles, you first have to load your Flex item as a FlexElement in order to read your attributes. Here's an example:
// Load the slider as a Flex element to access flex attributes
FlexElement sliderFlex = repo.FlexTestPageDom.ContainerHSlider_Control.SliderHSlider.As<FlexElement>();
sliderFlex["value"] = "100";
FlexElement containerFlex = repo.FlexTestPageDom.Self.FindSingle(".//container[@caption='Tree Control']");
containerFlex.SetStyle("borderColor","#ee0000");
Using the Ranorex PreLoader
Please use the Instrumentation Wizard to enable the PreLoader method on your machine.
The wizard will execute following steps for you:
- Install the Adobe Debug Flash Player on the machine
on which you would like to record and execute Ranorex test scripts and
for all browsers you would like to test with. The installers are
available on Adobe’s download page; the following are the links to the Debug Player 10 for Internet Explorer and Firefox.
- Open your user profile directory %UserProfile%, e.g. by opening Windows Explorer and copying the string %UserProfile% into the address bar.
- Create a new file called „mm.cfg” in your user profile directory
and insert the following line of code, where
“C:\FlashFlex\RanorexAutomation.swf” needs to be replaced by the
preloader location of your Ranorex installation:
PreloadSwf= C:\Program Files\Ranorex 3.X\Bin\RanorexAutomation.swf
Additional to this configuration entry you can enable the logging
mechanisms of the Adobe Debug Flash Player, which might be helpful if
you have any problems with this kind of instrumentation. In such a case
you can then simply provide this logging information to our support
team. To enable logging you have to add the following line of code to
your “mm.cfg” file:
TraceOutputFileEnable=1
This additional configuration entry forces the Debug Player to create a log file at following location:
C:\Users\username\AppData\Roaming\Macromedia\Flash Player\Logs
- If you run your application from the local drive, add your output
directory to the trusted locations of Flash Player as follows:
- Open
following link
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065 - Add your project output directory
Adobe Flex: Load the Ranorex Lib into your Flex application
- Start Adobe Flex Builder and open your workspace
- Right-click on your project and choose Properties
- Under Flex Compiler add the RanorexAutomation.swc file (located in the Bin directory of your Ranorex installation) to the the compiler argument as follows:
-include-libraries "C:\Program Files\Ranorex 3.X\Bin\RanorexAutomation.swc"
- For AIR2: Append following code to your "applicationCompleteHandler" function:
import Ranorex.RxAutomation;
RxAutomation.Init();
- Save and compile your application
- Run your application in Internet Explorer or Firefox
- If you run your Flex application from the local drive, add your output directory to the trusted locations of Flash Player as follows:
- Open following link
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065 - Add your project output directory
Adobe Flash: Load the Ranorex Lib into your Flash application
- Start Adobe Flash CS4/CS5 and open your application
- Open the "Publish Settings" dialog (File->Publish Settings)
- Include the Ranorex Flash Library in your Flash application under Flash->Script->Settings...->Library Path and choose "Browse to SWC file"
- Select "RanorexAutomation.swc" file in the browse dialog (RanorexAutomation.swc is located in the Bin directory of your Ranorex installation)
- Insert following code to your ACTIONS (by pressing F9):
import Ranorex.RxAutomation;
RxAutomation.InitFromApp(stage);
OR add the code to your ActionScript source file as follows:
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);
}
} - Run your application in Internet Explorer or Firefox
- If you run your Flash application from the local drive, add your output directory to the trusted locations of Flash Player as follows:
- Open following link
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065
- Add your project output directory
How to load the Ranorex Module into your Flash application
- Start Adobe Flash CS3/CS4/CS5 and open your application
- Insert following code to your ACTIONS (by pressing F9):
import flash.net.URLRequest;
var rxloader : Loader = new Loader();
stage.addChild(rxloader);
rxloader.name = "__rxloader";
rxloader.width = 0; rxloader.height = 0;
rxloader.load(new URLRequest("RanorexAutomation.swf"));
- Copy the RanorexAutomation.swf file, located in the Bin directory of your Ranorex installation, to your web
server (where your .swf file is located)
- Run your application in Internet Explorer or Firefox
- If you
run your Flash application from the local drive, add your output
directory to the trusted locations of Flash Player as follows:
- Open
following link
www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html
- Add your project output directory
How to load the Ranorex Module into your Flex/AIR application
- Start Adobe Flex Builder or Flash Builder and open your workspace
- Append following code to your "applicationCompleteHandler" function or initialization code:
For Flex 3:
var rxloader : Loader = new Loader();
Application.application.rawChildren.addChild(rxloader);
rxloader.name = "__rxloader";
rxloader.width = 0; rxloader.height = 0;
rxloader.load(new URLRequest("RanorexAutomation.swf"));For Flex 4:
var rxloader : Loader = new Loader();
FlexGlobals.topLevelApplication.parent.addChild(rxloader);
rxloader.name = "__rxloader";
rxloader.width = 0; rxloader.height = 0;
rxloader.load(new URLRequest("RanorexAutomation.swf"));
- Copy the RanorexAutomation.swf file, located in the Bin directory of your Ranorex installation, to your web
server (where your .swf file is located) or where your AIR application is located.
- Run your application in Internet Explorer or Firefox
- If you
run your Flash application from the local drive, add your output
directory to the trusted locations of Flash Player as follows:
- Open
following link
www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html
- Add your project output directory