Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Flextestingautomation 111116190906-phpapp02


Published on

  • Be the first to comment

  • Be the first to like this

Flextestingautomation 111116190906-phpapp02

  1. 1. Automation of IPP FlexapplicationsGokuldas K Pillai@gokool
  2. 2. Objective• Identify a tool to automate the functionaltesting of a Flex application. In myapplication, we have the following use-cases:– Create/Edit Invoice– Search for a customer
  3. 3. Tools Evaluated• FlexMonkey 1.0 by Gorilla Logic• SilkTest 2009 R2 by Borland (Plugin for Flex)• Ranorex Studio• Other tools (not evaluated/less popular)– QTP– Selenium4Flex– RiaTest
  4. 4. Automation support in Flex• Adobe provides automation delegate implementations for theframework components– Automation.swc (delegation implementations)– Automation_agent.swc (Facilitate communication with a tool)– Automation_dmv.swc (delegates for charts and advanced datagrid)• Third party tool developers leverage these and build on top of it.– The tool developers are limited by what Adobe exposes via theautomation hooks.• Custom components• Components that extend framework components– Automation delegates supplied should work• Components that do NOT extend framework components (extendUIComponent instead)– Developer of component needs to provide automation delegates and override eventhandlers.
  5. 5. Agent mechanism
  6. 6. Tool #1 : Flex Monkey• Quick Facts– Open Source– Ver 1.0 GA released– Adobe AIR application– Scripting language – Actionscript– Support for:• Record/Playback• Validation• Timing delays• Exporting script – integration with ANT script• Pluses– Simple to setup– Works on both OS (Windows/Mac)– Works with both IE and Mozilla• Negatives– Does not scale beyond simple usecases– Sparse documentation for advanced usage– Community is in infancy (Opensource like support )– Recently moved out of Google code and the transition was not smooth for forum users– Core developers offer paid consulting gigs for training and help with tool.
  7. 7. Tool #2 : SilkTest Flex plugin/Silk4J• Quick facts– 2009 R2 – Flex support since 2008 R2– Silk4J – Eclipse plugin– Scripting language – Java or Silk script– Object identification using Xpath• Pluses– JUnit like test generation (Silk4J)– Familiar tool(Silk not Silk-Flex) for QA teams in Intuit– Enterprise support plan• Negatives– Performance hog (Seems like it is broken)– Tool is not very developer friendly.– Does not work with IPP native flex apps.– Support from Ireland (timezone) – primarily e-mail based
  8. 8. Tool #3: Ranorex Studio• Quick facts– Ver 2.2 (2.3 coming out next week, 3.0 targeted for Fall ’10)– Built on .NET framework– Scripting support – C#, Python and VB.NET• Pluses– Mature tool – very intuitive interface– Object recognition using custom XPath– System integration testing with Quickbooks possible (not tested out)– Support for AJAX/Javascript testing– In-tool support for the whole object tree once the application is instrumented.– Has support for object preview.– Once the test is fully baked, you can export it as an executable (.exe). This canthen be run simply by double clicking the exe.– Executable can be passed in command line params• Negatives– ?
  9. 9. Criteria for selection• Excellent support for object identification– Custom components like custom combo-box, itemrenderers• Easy to setup and ramp up• Mature support for scripting using standardlanguages• Ability to integrate with CI build• Performance• Good record and replay capability• Support for IE and Firefox
  10. 10. Quick Summary• FlexMonkey dropped from the list since it could notrecognize some of the non-trivial objects like CustomComboBox and DataGridColumn with item Renderer.• SilkTest 2009 is a good attempt but has a long way togo to be more developer/QA friendly in terms of thetool. Also, it has a higher cost for the license.• Ranorex satisfies our current requirements forautomated testing, goes beyond what Adobe providesfor automation support and delivers a great experiencefor the developer.