Introduction

info Sahi Pro v8.0.0 is now available! See what's new in Sahi Pro v8.0.0!
Sahi Pro is a suite of mature, business-ready tools for automated testing of Web, Webservices, Mobile, Windows Desktop and Java applications. For testing teams which need rapid and reliable automation, Sahi Pro would be the best choice among automation tools.

Sahi works well in Agile development environments, enabling rapid automation and maintenance with easy integration with build systems. Sahi saves time and effort with faster development, less maintenance and fast distributed playback.

Sahi Pro Editions

Sahi Pro

Sahi Pro helps automate functional testing of web applications. Sahi Pro by default supports web application and REST API automation. Sahi Pro is well suited for cross-browser/multi-browser testing of complex web 2.0 applications with lots of AJAX and dynamic content. Sahi Pro runs on any modern browser which supports javascript.

Sahi Pro Desktop Add-on

Sahi Pro Desktop Add-on adds support for Windows desktop applications (Win32, WPF, WinForms, .NET, SilverLight, XBAP, Universal Windows Platform (UWP)), Java Desktop Applications, Java Applets and Java web start applications. It has been introduced as an Add-on since Sahi Pro v7.0.0.
warningSahi Pro Desktop Add-on license needs to be purchased separately.
info Since v7.5.0, if you want to automate only Desktop applications (and not web applications), you can purchase and use Desktop Add-on license alone. No need to purchase Sahi Pro license. (Prior to v7.5.0 you needed both Sahi Pro and Sahi Pro Desktop Add-on licenses, even if you wanted to automate only Desktop applications.)

Sahi Pro Mobile Add-on

Sahi Pro Mobile Add-on adds support for Mobile applications. It supports automation of Native, Web and Hybrid applications on iOS and Android. It has been introduced as an Add-on since Sahi Pro v7.5.0.
warningSahi Pro Mobile Add-on license needs to be purchased separately.
info If you want to automate only Mobile applications (and not web applications), you can purchase and use Mobile Add-on license alone. No need to purchase Sahi Pro license.

Sahi Pro Runner

Sahi Pro Runner has been introduced since v6.2.0 for pure playback installations for the web. It can be used with Continuous Integration and build systems as both master and slave, and as a central database for reports. Sahi Pro Runner can be used along with Sahi Pro Desktop v7.0.0 for pure playback installations for Windows, Applets and Java Web Start.

Sahi Pro Starter

Sahi Pro Starter is a free, limited capability version of Sahi Pro, suitable for learning automation.

Main Features

  1. Powerful set of APIs
    • Object Identification APIs for browsers, mobile and desktop applications
    • Event Trigger APIs for browsers mobile and desktop applications
    • APIs to Work with database, Excel or CSV file for data-driven-testing
    • Can directly invoke Java code from scripts. This is used to access databases, read pdf files, connect to another machine via ssh etc.
    • APIs for testing REST and Web Services
  2. Easily scriptable via Javascript or Java.
  3. Simple, yet powerful and robust object identification APIs:
    • For web applications, Sahi does not use XPaths or css selectors. It has its own wrappers around the Javascript DOM which are simple to use and easy to maintain. Sahi supports HTML5 custom tags too. Sahi uses similar technologies for Mobile and Desktop Automation too.
    • Sahi works even when elements do not have ids. Sahi uses relational APIs like _in, _near, _under, _leftOf, _rightOf etc. to uniquely identify elements. No looping logic required to find elements in table like structures, tree nodes etc.
    • Sahi automatically traverses across frames, iframes and ShadowDOMs.
    • Supports browser popups and modal dialogs
  4. Automatic Waits: Sahi automatically waits for page loads and ajax activity. Further, on failure, Sahi automatically retries the step a few times. There is no need for adding wait statements in 95% cases. This reduces the code base size by 50% compared to other tools and makes the scripts robust yet easily maintainable.
  5. Excellent recorder and object spy makes script creation easy. Recorder works on Internet Explorer, Firefox, Chrome, Safari, Opera (and any modern browser), Mobile (iOS, Android) on Desktop applications (Windows, Java etc.).
  6. Inbuilt Framework: Helps create clean abstractions between business logic, functional flows and object storage
    • Spreadsheet like interface to create Business Scenarios (csv files)
    • All functional flows are in library files (Sahi scripts/Java code)
    • Elements are stored separately in Accessor Repository files
    • All automation files are text files and are version controllable
  7. Batch Playback via Data Driven Suites
    • Suites allow playback of thousands of scripts in a batch
    • Suites can invoke other suites
    • Data can be passed to any suite or script
    • Scripts and Suites can be tagged and can be selectively run
  8. Powerful Editor: The web based Editor helps create and organize your scripts, scenarios and suites with ease. Intelligent auto suggestions and refactoring abilities make it easy to modify and maintain scripts. Also contains REST editor for working with REST/webservices.
  9. Parallel and Distributed Playback: Sahi can playback multiple web automation scripts in parallel, thus reducing playback time drastically. Sahi does not need the browser to be in focus. Sahi can also distribute scripts in a suite across multiple machines (multi-machine playback) and reduce playback time even further. (Non-browser applications and some browsers like Edge can be played back only one instance per machine). Auto Retry: A suite of failed scripts can be automatically created and re-executed before failing builds
  10. Inbuilt rich detailed reporting:
    • Drill down from historical suite runs, to suite, to script/scenarios, to exact line of code.
    • Errors are stored with screenshots automatically
    • Reports available in multiple formats like HTML, XML, Junit, Excel etc.
    • Store all reports in a central database for historical analysis
    • Show network activity during playback of web applications (optional)
    • Show Javascript code coverage of your web application during playback (optional)
  11. Integrate easily with Continuous Integration systems like Jenkins.
    • Sahi can be configured to execute scripts on the Jenkins machine itself or on multiple machines in a master/slave configuration
    • Sahi need not be installed on Jenkins machine. The Sahi Pro master can be on a different machine and suites can be triggered from Jenkins. Results and reports will be sent to the Jenkins machine.
    • Sahi's execution reports can be synced to a central database where you can perform historical analysis of reports
    • Email notifications of execution status is possible at the end of execution or periodically during execution
    • Editor automatically creates the necessary ANT target for configuring the above options. This ant target can be triggered from Jenkins.
  12. Sahi Pro supports a lot of technologies like Web browsers, REST/Web services, Windows Desktop Applications, Java Desktop Applications, Java Webstart Applications, Java Applets, etc. A list of supported technologies is given below.

Supported Features and Technologies

Sahi Pro Features

These common features are available in all editions (Sahi Pro Web, Sahi Pro Mobile and Sahi Pro Desktop)



Technologies supported

Sahi ProSahi Pro Desktop Add-onSahi Pro Mobile Add-onCombination Needed
DatabaseYesYesYes
FilesystemYesYesYes
REST/Web ServicesYesYes (No OAuth2 support)Yes (No OAuth2 support)Sahi Pro Web is needed for OAuth2 support
Web applications across browsers and operating systemsYesNoNo
Web applications on mobile browsersYes (needs trigger from mobile device)NoNoSahi Pro Web + Sahi Pro Mobile needed
Web applications in Chromium Embedded Framework (CEF)YesNoNo
Windows Desktop Applications (WPF, Win32, WinForms, .NET, SilverLight, XBAP)NoYesNo
Java Desktop Applications (Swing, AWT, SWT)NoYesNo
Java Web Start Applications (Swing, AWT, SWT)NoYesNo
Java Applets (Swing, AWT, SWT)NoNoNoSahi Pro Web + Sahi Pro Desktop needed
Mobile Native Applications in iOS and AndroidNoNoYes
Mobile Hybrid Applications in iOSNoNoYes
Mobile Hybrid Applications in AndroidNoNoMay be (Some Apps may be identified properly Natively)Sahi Pro Web + Sahi Pro Mobile needed

Browser Support

Sahi supports any browser which runs javascript and allows setting a proxy. This covers almost all desktop and mobile browsers.

BrowserVersions
Internet Explorer6+
Mozilla Firefox2+
Google Chrome6+
Safari5+
Opera9+
PhantomJS1+
Microsoft Edge25+
info NOTE: Parallel execution is not supported for Microsoft Edge. You need to close any running instance of Microsoft Edge before playback.

Sahi Name

Sahi means "Right", "Correct", "Apt" or "Cool" in Hindi.