Sahi

Cost effective Web Automation
What is Sahi?
• Automates web applications
• Started in 2005
  – Mature business ready product
• Aimed at testers in Agile and traditional
  environments
• Focus
  – Aimed at testers
  – For complex web applications

                                              2
Why use Sahi?
•   Simulate real user interaction
•   Speed up verification of functionality
•   Run regression tests
•   Check across browsers and OSes
•   Minimize testing time




                                             3
Key Features
•   Browser and Operating System independent
•   Powerful recorder which works across browsers
•   Powerful Object Spy
•   Intuitive and simple APIs
•   Javascript based scripts for good programming control
•   Version Controllable text-based scripts
•   In-built reports
•   In-built multithreaded or parallel playback of tests
•   Tests do not need the browser window to be in focus


                                                            5
Key Features – Contd.
• Command line and ant support for integration into
  build processes
• Supports external proxy, HTTPS, 401
  & NTLM authentications
• Supports browser popups and modal dialogs
• Supports AJAX and highly dynamic web applications
• Scripts very robust
   – No wait statements required even for AJAX and page loads
   – Intuitive APIs like _near and _in eliminates need for XPaths



                                                                6
Key Features – Contd.
• Works on applications with random auto-
  generated ids
• Very lightweight and scalable
• Supports data-driven testing. Can connect to
  database, Excel or CSV file.
• Ability to invoke any Java library from scripts
• Supports drivers in Java, Ruby and PHP also


                                                    7
Sahi Pro Features
•   Multi machine playback
•   Sahi Script Editor
•   Excel based framework
•   Support for Flex (beta)
•   Log to HTML, XML and database
•   Playback Log comparison



                                    8
Core Differentiator - 1
• Feature
  – Record and playback on any browser/any
    operating system
• Advantage:
  – The same tests work across browsers
• Business implication:
  – Allows easy verification of business functionality
    across browsers

                                                         9
Core Differentiator - 2
• Feature
  – Automatic waits for AJAX and page loads
• Advantage
  – Tests do not fail due to timing issues
• Business implication
  – Less time spent in maintenance, more dependable
    tests. No false negatives


                                                  10
Core Differentiator - 3
• Feature
  – Sahi's UI Relation APIs (_near, _in, _under etc.)
    removes dependency on HTML code structure
• Advantage
  – Tests communicate intent better. Tests work in
    spite of changes to HTML code of web pages.
• Business implication
  – Lesser coding complexity for testers. Less time
    spent in creation and maintenance of scripts.

                                                        11
Core Differentiator - 4
• Feature
  – Parallel playback of tests and Distributed
    execution across machines
• Advantage
  – Saves playback time drastically (may be tenth of
    sequential)
• Business implication
  – Faster feedback, faster development cycles

                                                       12
Core Differentiator - 5
• Feature
  – Inbuilt logging and reporting
• Advantage
  – Consolidates reports, removes code clutter
• Business implication
  – Saves time in diagnosis and traceability of failing
    scripts


                                                          13
Sahi and QTP
Feature (Pros of Sahi)         Sahi                QTP
Run on any browser/OS          Yes                 No
Needs browser in focus         No                  Yes
Supports parallel playback     Yes                 No
Identifies complex web         Yes                 No
objects



Sahi tests are lighter and faster.

Feature (Cons of Sahi)         Sahi                QTP
Works on any desktop           No, only web apps   Yes (on windows)
application


                                                                      14
Sahi and Selenium
Feature (Pros of Sahi)      Sahi                     Selenium
Recorder on all browsers    Yes                      Only on firefox
Easy identification of      Yes, uses UI Relations   No, needs brittle XPaths or
objects without ids                                  css selectors
Needs waits between steps No, automatic waits        Yes, needs wait
                                                     statements, leading to
                                                     more complex tests
Developer/tester focused    Tester focused           Developer focused
Inbuilt reporting           Yes                      No


Feature                     Sahi                     Selenium
Languages available         Sahi, Java, Ruby, PHP    Many more


                                                                               15
Sahi Pro License
• Price
  – USD 350/user
  – Can be used on extra machines for playback
• Support
  – Email based support, guaranteed response within
    1 Indian business day
  – Desktop sharing via GoToMeeting if required



                                                      16
Summary
• Sahi scripts are fast to create, easy to maintain
• Sahi plays back fast and reliably
• Architecture is simple.
   – Simplicity makes it adaptable and evolvable.
• Sahi takes care of the plumbing.
   – Features like in-built reports, managed parallel
     playback across machines, simplified APIs, etc. lets
     your team concentrate on testing.
• Teams need not be revamped.
   – One can easily introduce manual testers to Sahi
     automation.

                                                            17
More Information
• Sahi
  – http://sahi.co.in
• Sahi Pro
  – http://sahi.co.in/w/sahi-pro
• Sahi vs Selenium
  – http://blog.sahi.co.in/2010/04/sahi-vs-
    selenium.html


                                              18

Sahi Web Automation and Testing Tool

  • 1.
  • 2.
    What is Sahi? •Automates web applications • Started in 2005 – Mature business ready product • Aimed at testers in Agile and traditional environments • Focus – Aimed at testers – For complex web applications 2
  • 3.
    Why use Sahi? • Simulate real user interaction • Speed up verification of functionality • Run regression tests • Check across browsers and OSes • Minimize testing time 3
  • 4.
    Key Features • Browser and Operating System independent • Powerful recorder which works across browsers • Powerful Object Spy • Intuitive and simple APIs • Javascript based scripts for good programming control • Version Controllable text-based scripts • In-built reports • In-built multithreaded or parallel playback of tests • Tests do not need the browser window to be in focus 5
  • 5.
    Key Features –Contd. • Command line and ant support for integration into build processes • Supports external proxy, HTTPS, 401 & NTLM authentications • Supports browser popups and modal dialogs • Supports AJAX and highly dynamic web applications • Scripts very robust – No wait statements required even for AJAX and page loads – Intuitive APIs like _near and _in eliminates need for XPaths 6
  • 6.
    Key Features –Contd. • Works on applications with random auto- generated ids • Very lightweight and scalable • Supports data-driven testing. Can connect to database, Excel or CSV file. • Ability to invoke any Java library from scripts • Supports drivers in Java, Ruby and PHP also 7
  • 7.
    Sahi Pro Features • Multi machine playback • Sahi Script Editor • Excel based framework • Support for Flex (beta) • Log to HTML, XML and database • Playback Log comparison 8
  • 8.
    Core Differentiator -1 • Feature – Record and playback on any browser/any operating system • Advantage: – The same tests work across browsers • Business implication: – Allows easy verification of business functionality across browsers 9
  • 9.
    Core Differentiator -2 • Feature – Automatic waits for AJAX and page loads • Advantage – Tests do not fail due to timing issues • Business implication – Less time spent in maintenance, more dependable tests. No false negatives 10
  • 10.
    Core Differentiator -3 • Feature – Sahi's UI Relation APIs (_near, _in, _under etc.) removes dependency on HTML code structure • Advantage – Tests communicate intent better. Tests work in spite of changes to HTML code of web pages. • Business implication – Lesser coding complexity for testers. Less time spent in creation and maintenance of scripts. 11
  • 11.
    Core Differentiator -4 • Feature – Parallel playback of tests and Distributed execution across machines • Advantage – Saves playback time drastically (may be tenth of sequential) • Business implication – Faster feedback, faster development cycles 12
  • 12.
    Core Differentiator -5 • Feature – Inbuilt logging and reporting • Advantage – Consolidates reports, removes code clutter • Business implication – Saves time in diagnosis and traceability of failing scripts 13
  • 13.
    Sahi and QTP Feature(Pros of Sahi) Sahi QTP Run on any browser/OS Yes No Needs browser in focus No Yes Supports parallel playback Yes No Identifies complex web Yes No objects Sahi tests are lighter and faster. Feature (Cons of Sahi) Sahi QTP Works on any desktop No, only web apps Yes (on windows) application 14
  • 14.
    Sahi and Selenium Feature(Pros of Sahi) Sahi Selenium Recorder on all browsers Yes Only on firefox Easy identification of Yes, uses UI Relations No, needs brittle XPaths or objects without ids css selectors Needs waits between steps No, automatic waits Yes, needs wait statements, leading to more complex tests Developer/tester focused Tester focused Developer focused Inbuilt reporting Yes No Feature Sahi Selenium Languages available Sahi, Java, Ruby, PHP Many more 15
  • 15.
    Sahi Pro License •Price – USD 350/user – Can be used on extra machines for playback • Support – Email based support, guaranteed response within 1 Indian business day – Desktop sharing via GoToMeeting if required 16
  • 16.
    Summary • Sahi scriptsare fast to create, easy to maintain • Sahi plays back fast and reliably • Architecture is simple. – Simplicity makes it adaptable and evolvable. • Sahi takes care of the plumbing. – Features like in-built reports, managed parallel playback across machines, simplified APIs, etc. lets your team concentrate on testing. • Teams need not be revamped. – One can easily introduce manual testers to Sahi automation. 17
  • 17.
    More Information • Sahi – http://sahi.co.in • Sahi Pro – http://sahi.co.in/w/sahi-pro • Sahi vs Selenium – http://blog.sahi.co.in/2010/04/sahi-vs- selenium.html 18