TestComplete supports testing of various Flex controls. You can also modify project properties so that TestComplete recognizes your custom Flex controls. The sections below describe how you can test Flex controls in detail.
About Supported Flex Controls
TestComplete can obtain information about controls and objects of Flex applications if you use one of the following approaches for testing:
-
Use the debug version of Adobe Flash Player with the FlashInjector.swf helper Flash movie.
-
Run Flex applications under the Runtime Loader helper utility.
-
Include the FlexClient library into the tested Flex application.
Depending on which of the above-mentioned approaches you are using to test your application, different sets of windows, objects, controls and exposed object members become available to TestComplete:
-
If your Flex application was compiled with the MSAA engine enabled, TestComplete exposes the on-screen objects for which the accessibility information was provided. These objects contain properties, methods and actions common for on-screen objects as well as a number of extended members added by the MSAA engine.
-
If you are using the debug version of Flash Player, Runtime Loader or the FlexClient library to test a Flex application, the application becomes Open, and TestComplete can recognize the application’s visual objects. Besides that, TestComplete adds a special
FlexObject
property to each object of the application. This property provides access to the underlying Flex object and its public native methods and properties.
For more information, see Testing Flash and Flex Applications - Overview.
Requirements
-
A license for the TestComplete Web module.
-
The Adobe Flex Control Support plugin. The plugin provides access to controls via special program objects. It also enables creating table checkpoints for controls that display data in the tabular form. For the full list of these controls, see About Tables Collection.
-
The following plugins:
-
Web Testing - Implements web testing, enables testing of web applications running in Internet Explorer, Edge or WebBrowser controls.
-
Firefox Support - Enables testing of web applications running in Mozilla Firefox.
-
Chrome Support - Enables testing of web applications running in Google Chrome.
-
Chromium Embedded Framework Support - Enables web testing in applications created with Chromium Embedded Framework (CEF) or with Electron.
-
All these plugins are installed and enabled automatically.
If you experience issues when working with the controls, select File | Install Extensions from the TestComplete main menu to check whether the plugins are active. If a plugin is not available, run the TestComplete installation in the Repair mode.
Supported Browser Versions
TestComplete supports testing of Flex applications that are displayed in the following browsers:
-
Microsoft Internet Explorer ver. 10–11.
-
Microsoft Edge.
-
Mozilla Firefox ver. 60 – 67.
If you use a later version of Firefox, check whether a patch is available for it.
-
Google Chrome ver. 74.
If you have a TestComplete version earlier than 12.42, your version of the SmartBear Test Extension will be incompatible with newer versions of the Chrome web browser. To test web applications in Chrome 74, you will have to upgrade your TestComplete to some later version. We recommend using version 14.10.
If you use a later version of Google Chrome, check whether a patch is available for it.
-
Any web browser based on the Microsoft WebBrowser control.
-
Embedded Chromium web browser:
-
In applications built with Chromium Embedded Framework (CEF) version 73.0.3683 and earlier.
-
In applications built with Electron version 1.8.2, 2.0.2, 3.0.2, 4.0.2, 5.0.0.
-
To display Flex applications, the Flash Player plugin must be installed in the browser. The required Flash Player version is 10.1.102.64 and later. You can download the latest version of Flash Player from Adobe’s web site:
Supported Controls
Below is the full list of the Flex controls for which TestComplete provides extended support.
Note that TestComplete provides support for the listed controls as well as for their descendants. However, to make this possible, you need to specify the class name of your inherited control in the corresponding group of the project’s Object Mapping options. For more information, see Object Mapping.
Controls | Library | Classes |
---|---|---|
Button | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::Button spark.components::Button |
CheckBox | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::CheckBox spark.components::CheckBox |
ComboBox | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::ComboBox spark.components::ComboBox |
DataGrid | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::DataGrid |
DateChooser | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::DateChooser |
DateField | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::DateField |
List | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::List spark.components::List |
LinkBar | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::LinkBar |
NumericStepper | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::NumericStepper |
PopUpButton | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls.PopUpButton |
RadioButton | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::RadioButton spark.components::RadioButton |
Spark DataGrid | Adobe Flex ver. 4.5, 4.6 Apache Flex ver. 4.9 - 4.14 |
spark.components::DataGrid |
Spark DropDownList | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6, 4.6 Apache Flex ver. 4.9 - 4.14 |
spark.components.DropDownList |
Spark Scroller | Adobe Flex ver. 4.6 Apache Flex ver. 4.9 - 4.14 |
spark.components::Scroller |
Spark Spinner | Adobe Flex ver. 4.6 Apache Flex ver. 4.9 - 4.14 |
spark.components::Spinner |
ScrollBar | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::HScrollBar mx.controls::VScrollBar |
Slider | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::HSlider mx.controls::VSlider |
TabBar | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::TabBar spark.components::TabBar |
Tree | Adobe Flex ver. 3.3, 3.4, 3.5, 3.6, 4.0, 4.1, 4.5, 4.6; Apache Flex ver. 4.9 - 4.14 |
mx.controls::Tree |
Recognizing Custom Controls
To command TestComplete to recognize your custom Flex controls, open your project’s Object Mapping options and add the control’s class name to the corresponding subgroup of the Flex Controls group. The subgroup name corresponds to your custom control’s type. Once the control is mapped, it gets all the properties, methods and actions specific to the Flex control of the corresponding type.
If the specified custom control does not fit the control’s type, then it may not properly respond to commands that TestComplete sends, so recording or playing back user actions over the tested control will cause errors.