New Generation Record/Playback
    Tools for AJAX Testing

 Frank Cohen, +01 (408) 871-0122, fcohen@pushtotest.com

                  September 13, 2011
Open Source Test Automation




The Death of Capture/Playback
     ‣ “It's no secret that usingleads to failure,” as the sole
       automation technology
                                   capture / playback

            Edward Kit at PSQT Conference, 2002

          ‣ http://tinyurl.com/43dvq84
          ‣ And that was before...

                                                                 WebKit



2
Open Source Test Automation




    Open Source Testing (OST)




3
Open Source Test Automation




Why An OST Alternative?
‣ HP QuickTest Professional does a great job for testing a small part of
  the Internet

  ‣ Functional Testing (Smoke, Regression, Integration)
  ‣ Windows using ActiveX
  ‣ Flash, Flex
  ‣ MS Internet Explorer
  ‣ Web 2.0 with Coding Effort
  ‣ Best Money Can Buy
4
Open Source Test Automation




OST For Everywhere Else
‣ Open Source Testing Tools
  ‣ TestMaker Object Designer
  ‣ Selenium
  ‣ Sahi
  ‣ Unit Tests (Java, Ruby, Python, PHP)
‣ Record in WebKit based browsers (Chrome, Safari, Opera),
  IE, Firefox
‣ Agile Testing, Agile Performance Testing and Production Monitoring
‣ Rich Internet Applications (RIA,) Mobile, Pads
‣ OST For Everyone (Developers, Testers, Business Managers)
5
Open Source Test Automation




OST Architecture
                                Application Under Test                                     PTTMonitor
                                      Web, RIA, BPM, SOA                                 CPU, Net, Memory




Functional
                                                   Test Injector                                                   Test Authoring
   Test
                   Bundles                   ScriptRunners               Data Production Libraries                      SoapUI (Pro)
                MySQL, HtmlUnit         Sahi, Selenium, SoapUI, Java        csv files, rdbms queries                      Sahi (Pro)
                                                                                                                   JUnit Class Framework
Load Test                                                                                                             Eclipse Java IDE
                                                                                                                           Fitness
                                          Test Operation Console                                                  Languages: Java, Python
                                                                                                                     Wiki Collaboration

Production      Designer           Grid and Cloud           Repository          Results Analysis
              Record/Playback       Test Deployment        MySQL RDBMS        Business Intelligence Tool
 Monitor


             Continuous                                                   Test
                                  Repository          Bug Tracker                          Monitoring
             Integration                                               Management




6
Open Source Test Automation




Browser Compatibility Tests
             Application Under Test




                        TestNode
          Selenium RC              SeleniumHtmlUnit

                    Selenese Test




             TestMaker Console

7
Open Source Test Automation




ScriptRunners
     ScriptRunner            Type           Name (langtype)

    Designer Script      IE, Htmlunit       designerscript
      Selenium        HtmlUnit Browser         selenium
     Selenium RC      IE, Firefox, Chrome    seleniumrc
         Sahi            IE, HtmlUnit              sahi
    HTTP Archive      Page Optimization            HAR
     Selenium RC      IE, Firefox, Chrome    seleniumrc
       SoapUI          SOAP and REST             soapui
    TestGen4Web         Web 1.0 Tests       testgen4web
       Mozmill         Mozilla XUL Tests        mozmill
      Unit Tests        jUnit TestCase       Java, Jython, JRuby,
                                              PHP, Perl, Groovy

        DotNet            .NET Tests             dotnet
     Visual Basic          VB tests                 vb
8
    Command Line       Desktop and utils    commandline
Open Source Test Automation




Your cloud or mine? Or both!
                        Application or Service
               HTTP             REST                   AMF               AJAX



     TestNode         TestNode              TestNode          TestNode
        test             test                   test             test

     PTTMonitor       PTTMonitor           PTTMonitor         PTTMonitor




           SOAP             SOAP                       SOAP             SOAP
                                 Test RunTime

                                       TestMaker Console

9
Open Source Test Automation




Lots of Possibilities                               TestMaker



                           Test Sent



     Seattle, Datacenter
          TestNode           Generating Load




                                        Dallas, Texas
                                         Datacenter

You’re Such A Geek!
10
Open Source Test Automation




Let’s Talk About...
‣ How To Record/Playback Rich Internet Applications
‣ Repurposing Test Objects To Be Functional Tests, Load and
  Performance Tests, and Production Monitors

‣ Adding Verification Steps to Tests
‣ Data Enabling Tests
‣ Object Repository for Sharing Test Objects
‣ Operating Selenium, Sahi, and soapUI tests in Grid and Cloud
  Environments

‣ Running Root Cause Analysis Reports
11
Open Source Test Automation




What’s Missing in OST
‣ Desktop Record/Playback
‣ QTP VB Script Conversion (see PushToTest Global Services)
‣ Keyword/Expert Mode (see Designer’s Export menu)
‣ HP Quality Center (QC) Integration (Requires TestMaker Enterprise)
‣ Object Repository (OST depends on svn, CI)
‣ Time-based Recording
‣ HP Mercury Reporting Is Better, OST Catching Up Fast
‣ HP Mercury Add-ons
12
Open Source Test Automation




Where To Go From Here
‣ Download And Learn TestMaker Object Designer
  ‣ http://www.pushtotest.com
‣ Watch A Screencast and Tutorial
  ‣ http://www.pushtotest.com/screencastcentral
‣ Tell Your Followers
  ‣ http://twitter.com/fcohen
‣ Attend An Open Source Test Workshop
  ‣ http://workshop.pushtotest.com
13

New Generation Record/Playback Tools for AJAX Testing

  • 1.
    New Generation Record/Playback Tools for AJAX Testing Frank Cohen, +01 (408) 871-0122, fcohen@pushtotest.com September 13, 2011
  • 2.
    Open Source TestAutomation The Death of Capture/Playback ‣ “It's no secret that usingleads to failure,” as the sole automation technology capture / playback Edward Kit at PSQT Conference, 2002 ‣ http://tinyurl.com/43dvq84 ‣ And that was before... WebKit 2
  • 3.
    Open Source TestAutomation Open Source Testing (OST) 3
  • 4.
    Open Source TestAutomation Why An OST Alternative? ‣ HP QuickTest Professional does a great job for testing a small part of the Internet ‣ Functional Testing (Smoke, Regression, Integration) ‣ Windows using ActiveX ‣ Flash, Flex ‣ MS Internet Explorer ‣ Web 2.0 with Coding Effort ‣ Best Money Can Buy 4
  • 5.
    Open Source TestAutomation OST For Everywhere Else ‣ Open Source Testing Tools ‣ TestMaker Object Designer ‣ Selenium ‣ Sahi ‣ Unit Tests (Java, Ruby, Python, PHP) ‣ Record in WebKit based browsers (Chrome, Safari, Opera), IE, Firefox ‣ Agile Testing, Agile Performance Testing and Production Monitoring ‣ Rich Internet Applications (RIA,) Mobile, Pads ‣ OST For Everyone (Developers, Testers, Business Managers) 5
  • 6.
    Open Source TestAutomation OST Architecture Application Under Test PTTMonitor Web, RIA, BPM, SOA CPU, Net, Memory Functional Test Injector Test Authoring Test Bundles ScriptRunners Data Production Libraries SoapUI (Pro) MySQL, HtmlUnit Sahi, Selenium, SoapUI, Java csv files, rdbms queries Sahi (Pro) JUnit Class Framework Load Test Eclipse Java IDE Fitness Test Operation Console Languages: Java, Python Wiki Collaboration Production Designer Grid and Cloud Repository Results Analysis Record/Playback Test Deployment MySQL RDBMS Business Intelligence Tool Monitor Continuous Test Repository Bug Tracker Monitoring Integration Management 6
  • 7.
    Open Source TestAutomation Browser Compatibility Tests Application Under Test TestNode Selenium RC SeleniumHtmlUnit Selenese Test TestMaker Console 7
  • 8.
    Open Source TestAutomation ScriptRunners ScriptRunner Type Name (langtype) Designer Script IE, Htmlunit designerscript Selenium HtmlUnit Browser selenium Selenium RC IE, Firefox, Chrome seleniumrc Sahi IE, HtmlUnit sahi HTTP Archive Page Optimization HAR Selenium RC IE, Firefox, Chrome seleniumrc SoapUI SOAP and REST soapui TestGen4Web Web 1.0 Tests testgen4web Mozmill Mozilla XUL Tests mozmill Unit Tests jUnit TestCase Java, Jython, JRuby, PHP, Perl, Groovy DotNet .NET Tests dotnet Visual Basic VB tests vb 8 Command Line Desktop and utils commandline
  • 9.
    Open Source TestAutomation Your cloud or mine? Or both! Application or Service HTTP REST AMF AJAX TestNode TestNode TestNode TestNode test test test test PTTMonitor PTTMonitor PTTMonitor PTTMonitor SOAP SOAP SOAP SOAP Test RunTime TestMaker Console 9
  • 10.
    Open Source TestAutomation Lots of Possibilities TestMaker Test Sent Seattle, Datacenter TestNode Generating Load Dallas, Texas Datacenter You’re Such A Geek! 10
  • 11.
    Open Source TestAutomation Let’s Talk About... ‣ How To Record/Playback Rich Internet Applications ‣ Repurposing Test Objects To Be Functional Tests, Load and Performance Tests, and Production Monitors ‣ Adding Verification Steps to Tests ‣ Data Enabling Tests ‣ Object Repository for Sharing Test Objects ‣ Operating Selenium, Sahi, and soapUI tests in Grid and Cloud Environments ‣ Running Root Cause Analysis Reports 11
  • 12.
    Open Source TestAutomation What’s Missing in OST ‣ Desktop Record/Playback ‣ QTP VB Script Conversion (see PushToTest Global Services) ‣ Keyword/Expert Mode (see Designer’s Export menu) ‣ HP Quality Center (QC) Integration (Requires TestMaker Enterprise) ‣ Object Repository (OST depends on svn, CI) ‣ Time-based Recording ‣ HP Mercury Reporting Is Better, OST Catching Up Fast ‣ HP Mercury Add-ons 12
  • 13.
    Open Source TestAutomation Where To Go From Here ‣ Download And Learn TestMaker Object Designer ‣ http://www.pushtotest.com ‣ Watch A Screencast and Tutorial ‣ http://www.pushtotest.com/screencastcentral ‣ Tell Your Followers ‣ http://twitter.com/fcohen ‣ Attend An Open Source Test Workshop ‣ http://workshop.pushtotest.com 13