-
Notifications
You must be signed in to change notification settings - Fork 30
To utilize the following you will need Flash testing enabled in your application: Flash Testing Setup
- Each of these are passed as properties on a params object that is passed to the flex-pilot API calls.
These can be arbitrary properties on the DisplayObject you are looking up:
locator | example |
---|---|
*attr (automationName etc) | *value |
id | howdyButton |
name | testTextArea |
chain | name:testTextArea/name:UITextField18 |
child | name:container/child:[2] |
Part of the API is there to help you click on htmlText links, you can do so with:
link=my link text here
However, a colon is part of the parsing syntax, so if you text has a colon in it, please replace it with “%3A” in order for it to work.
The chain is a similar conceptual implementation to XPath, iterating recursively through the display list building a path back to a specific DisplayObject. If you have a reliable attribute like ID or automationName your tests will run faster and the Windmill Bootstrapper will use fewer resources.
This accesses the child object of a container based on integer index. It is also probably the best solution when you have multiple dynamic components of the same kind inside a container and are unable to use wild cards to reliably access the one you want.
Each of the above also accept wildcards and can be used in the following way:
name:testTextArea/name:UITextField18
Could be represented by:
name:testText*rea/name:U*TextField*
The way this works is by creating a regular expression of (.*)
for each occurrence of *
in the locator string. Then a ^
is prepended and a $
is appended creating a strict RegEx that may look something like the following:
/^UITextField(.*)$/
All method take their required params as an object:
document.getElementById('devMovie').fp_click({name:'testTextArea'})
or
document.getElementById('devMovie').fp_type({name:'testTextArea', text:'WHATEVER'})
method | params | description |
---|---|---|
fp_check | locator | Checks the display object (Equivalent to fp_click). |
fp_click | locator (optional label, for accordions etc) | Clicks display object. |
fp_date | locator | Triggers the calendar layout date change on the display object. |
fp_dragDropToCoords | locator, coords | Drags a display object ‘locator’ to a specified x,y. |
fp_dragDropElemToElem | locator, opt locator (meaning prepend opt to the second locator), ie. optchain, or optid (optionally an offsetx and offsety to ‘nudge’ the destination if needed) | Drags a display object to the coordinates of the display object ‘opt’. |
fp_doubleClick | locator | Double clicks display object. |
fp_dump | locator | Dumps the child structure of display object for test building purposes. |
fp_getObjectCoords | locator | Gets the coordinates of the display object. |
fp_getPropertyValue | locator (attrName) | Gets the value of the property ‘attrName’ on the display object. |
fp_getTextValue | locator | Gets the text value of the display object (either the htmlText or label). |
fp_getVersion | Returns the version of FlexPilot currently running. | |
fp_lookupFlash | locator | Looks up a display object in the display list. |
fp_mouseOut | locator | Mouses out of display object. |
fp_mouseOver | locator | Mouses over display object. |
fp_radio | locator | Selects the radio button display object (Equivalent to fp_click). |
fp_select | locator | Selects specified combo box display object. You can use the following properties in the locator for finding the item in the combo box: index, label, text, data, value, or toString. |
fp_type | locator, text | Types ‘text’ into the display object found by the locator lookup. |
method | params | description |
---|---|---|
fp_assertDisplayObject | locator | assert a display object exists, ‘locator’ |
fp_assertProperty | locator, validator | assert a display object ‘locator’, contains a specified property ‘validator’ (property pipe value) |
fp_assertText | locator, validator | assert a specified input field ‘locator’ equals text ‘validator’ |
fp_assertTextIn | locator, validator | assert a specified input field ‘locator’ contains text ‘validator’ |
- Example fp_assertProperty: chain=automationName:test, validator=style.color:blue
(These methods are actually part of the flex-pilot extension to Selenium IDE and RC)
method | params | description |
---|---|---|
waitForFlexReady | target, timeout | Wait for a flash/flex object’s testing API to be available |
waitForFlexObject | target, locator | Wait for an object inside the flex or flash object to be ready to interact with |
- target: identifies a DOM node on the page representing a flash/flex object
- locator: a chain/flex-pilot locator helping access a displayObject inside of flash/flex
(The following assumes your flex/flash object has an ID of testApp, and a flex button with an ID of howdyButton)
<tr>
<td>open</td>
<td>/flexpilot/</td>
<td></td>
</tr>
<tr>
<td>waitForFlexReady</td>
<td>id=testApp</td>
<td>20000</td>
</tr>
<tr>
<td>waitForFlexObject</td>
<td>id=testApp</td>
<td>chain=id:howdyButton</td>
</tr>
<tr>
<td>flexClick</td>
<td>id=testApp</td>
<td>chain=id:howdyButton</td>
</tr>
method | params | description |
---|---|---|
fp_explorerStart | none | enable the explorer |
fp_explorerStop | none | stop the explorer |
fp_recorderStart | none | enable the recorder |
fp_recorderStop | none | disable the recorder |
method | params | description |
---|---|---|
fp_explorerStopped | none | called on the flash obj parent page when the explorer is stopped |
fp_explorerSelect | locator for selected item | receives a selected item from the flash movie |
fp_recorderAction | action to record | receives a recorded action from the flash movie |