SlideShare una empresa de Scribd logo
1 de 10
Automation of IPP Flex
    applications
     Gokuldas K Pillai
        @gokool
Objective
• Identify a tool to automate the functional
  testing of a Flex application. In my application,
  we have the following use-cases:
  – Create/Edit Invoice
  – Search for a customer
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
Automation support in Flex
• Adobe provides automation delegate implementations for the
  framework 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 the
      automation hooks.
• Custom components
        • Components that extend framework components
            – Automation delegates supplied should work
        • Components that do NOT extend framework components (extend
          UIComponent instead)
            – Developer of component needs to provide automation delegates and override event
              handlers.
Agent mechanism
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.
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
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 can
      then be run simply by double clicking the exe.
    – Executable can be passed in command line params
• Negatives
    – ?
Criteria for selection
• Excellent support for object identification
   – Custom components like custom combo-box, item
     renderers
• Easy to setup and ramp up
• Mature support for scripting using standard
  languages
• Ability to integrate with CI build
• Performance
• Good record and replay capability
• Support for IE and Firefox
Quick Summary
• FlexMonkey dropped from the list since it could not
  recognize some of the non-trivial objects like Custom
  ComboBox and DataGridColumn with item Renderer.
• SilkTest 2009 is a good attempt but has a long way to
  go to be more developer/QA friendly in terms of the
  tool. Also, it has a higher cost for the license.
• Ranorex satisfies our current requirements for
  automated testing, goes beyond what Adobe provides
  for automation support and delivers a great experience
  for the developer.

Más contenido relacionado

La actualidad más candente

Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
Ching-Hwa Yu
 
LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015
Jeffrey Habets
 

La actualidad más candente (19)

Building apps with common code for windows 8 and windows phone 8 (WP8)
Building apps with common code for windows 8 and windows phone 8 (WP8)Building apps with common code for windows 8 and windows phone 8 (WP8)
Building apps with common code for windows 8 and windows phone 8 (WP8)
 
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
 
Container Orchestration for .NET Developers
Container Orchestration for .NET DevelopersContainer Orchestration for .NET Developers
Container Orchestration for .NET Developers
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Eclipse Testing Day 2010. Xored Q7
Eclipse Testing Day 2010. Xored Q7Eclipse Testing Day 2010. Xored Q7
Eclipse Testing Day 2010. Xored Q7
 
Taking your code to production
Taking your code to productionTaking your code to production
Taking your code to production
 
NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
 
RohitJindal
RohitJindalRohitJindal
RohitJindal
 
SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases
 
Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)
 
Test automation design patterns
Test automation design patternsTest automation design patterns
Test automation design patterns
 
Tehran's 1st Android bootcamp - Part2
Tehran's 1st Android bootcamp - Part2Tehran's 1st Android bootcamp - Part2
Tehran's 1st Android bootcamp - Part2
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
 
[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes
[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes
[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes
 
LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015
 
Lets Auto It
Lets Auto ItLets Auto It
Lets Auto It
 

Similar a Automating functional testing of Flex applications.

Flextestingautomation 111116190906-phpapp02
Flextestingautomation 111116190906-phpapp02Flextestingautomation 111116190906-phpapp02
Flextestingautomation 111116190906-phpapp02
Gokuldas Pillai
 
A software monitoring framework for quality verification
A software monitoring framework for quality verificationA software monitoring framework for quality verification
A software monitoring framework for quality verification
Dileepa Jayathilake
 
Automatize everything
Automatize everythingAutomatize everything
Automatize everything
Boris Bucha
 

Similar a Automating functional testing of Flex applications. (20)

Flextestingautomation 111116190906-phpapp02
Flextestingautomation 111116190906-phpapp02Flextestingautomation 111116190906-phpapp02
Flextestingautomation 111116190906-phpapp02
 
Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...
 
Testing Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user groupTesting Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user group
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
ElasTest presentation in Panel Sistemas company (Madrid December 2017)
ElasTest presentation in Panel Sistemas company (Madrid December 2017)ElasTest presentation in Panel Sistemas company (Madrid December 2017)
ElasTest presentation in Panel Sistemas company (Madrid December 2017)
 
ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX Applications
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
OSGi on Google Android using Apache Felix
OSGi on Google Android using Apache FelixOSGi on Google Android using Apache Felix
OSGi on Google Android using Apache Felix
 
A software monitoring framework for quality verification
A software monitoring framework for quality verificationA software monitoring framework for quality verification
A software monitoring framework for quality verification
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 
Introduction to Android Development and Security
Introduction to Android Development and SecurityIntroduction to Android Development and Security
Introduction to Android Development and Security
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
 
Automatize everything
Automatize everythingAutomatize everything
Automatize everything
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst Platform
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Automating functional testing of Flex applications.

  • 1. Automation of IPP Flex applications Gokuldas K Pillai @gokool
  • 2. Objective • Identify a tool to automate the functional testing of a Flex application. In my application, we have the following use-cases: – Create/Edit Invoice – Search for a customer
  • 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. Automation support in Flex • Adobe provides automation delegate implementations for the framework 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 the automation hooks. • Custom components • Components that extend framework components – Automation delegates supplied should work • Components that do NOT extend framework components (extend UIComponent instead) – Developer of component needs to provide automation delegates and override event handlers.
  • 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. 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. 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 can then be run simply by double clicking the exe. – Executable can be passed in command line params • Negatives – ?
  • 9. Criteria for selection • Excellent support for object identification – Custom components like custom combo-box, item renderers • Easy to setup and ramp up • Mature support for scripting using standard languages • Ability to integrate with CI build • Performance • Good record and replay capability • Support for IE and Firefox
  • 10. Quick Summary • FlexMonkey dropped from the list since it could not recognize some of the non-trivial objects like Custom ComboBox and DataGridColumn with item Renderer. • SilkTest 2009 is a good attempt but has a long way to go to be more developer/QA friendly in terms of the tool. Also, it has a higher cost for the license. • Ranorex satisfies our current requirements for automated testing, goes beyond what Adobe provides for automation support and delivers a great experience for the developer.