Sahi Documentation

Introduction

info Sahi Pro v10.0.0 is now available! See what's new in Sahi Pro v10.0.0!
Sahi Pro is a suite of mature, business-ready tools for automated testing of Web, Webservices, Mobile, Windows Desktop, SAP GUI 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 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.

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 SAP Add-on

Sahi Pro SAP Add-on adds support for automation of SAP GUI. It has been introduced as an Add-on since Sahi Pro v9.0.0.
warningSahi Pro SAP Add-on license needs to be purchased separately.
info If you want to automate only SAP GUI application (and not web applications), you can purchase and use SAP Add-on license alone. No need to purchase Sahi Pro license.

Sahi Pro AI Assist Add-on

Sahi Pro AI Assist Add-on provides Artificial Intelligence capabilities to automate applications by using computer vision and machine learning algorithms. It has been introduced as an Add-on since Sahi Pro v10.0.0.
warningSahi Pro AI Assist Add-on license needs to be purchased separately.
info If your application requires automation using Artificial Intelligence, you can purchase and use AI Assist Add-on license along with either Sahi Pro or Sahi Pro Desktop Add-on.

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 Add-on for pure playback installations for Windows, Applets and Java Web Start.

Sahi Pro Runner can be used along with Sahi Pro Mobile Add-on for pure playback installations for Native, Web and Hybrid applications on iOS and Android.

Sahi Pro Runner can be used along with Sahi Pro SAP Add-on for pure playback installations for SAP GUI.

Sahi Pro Runner can be used along with Sahi Pro AI Assist Add-on for pure playback installations.

Main Features

  1. Powerful set of APIs
    • Object Identification APIs for browsers, mobile, desktop and SAP GUI applications
    • Event Trigger APIs for browsers, mobile, desktop and SAP GUI 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
    • AI Assist APIs to facilitate Artificial Intelligence based automation.
  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. Parallel and Distributed Playback are also available for mobile, desktop and SAP GUI applications. 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, SAP GUI 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, Sahi Pro Desktop and Sahi Pro SAP)



Technologies supported

Sahi ProSahi Pro Desktop Add-onSahi Pro Mobile Add-onSahi Pro SAP Add-onCombination Needed
DatabaseYesYesYesYes
FilesystemYesYesYesYes
REST/Web ServicesYesYes (No OAuth2 support)Yes (No OAuth2 support)Yes (No OAuth2 support)Sahi Pro Web is needed for OAuth2 support
Web applications across browsers and operating systemsYesNoNoNo
Web applications on mobile browsersYes (needs trigger from mobile device)NoNoNoSahi Pro Web + Sahi Pro Mobile needed
Web applications in Chromium Embedded Framework
(CEF)
YesNoNoNo
Windows Desktop Applications
(WPF, Win32, WinForms, .NET, SilverLight, XBAP etc. applications that target .NET Framework versions 2.0 onwards)
Applications developed using Microsoft Foundation Class library
NoYesNoNo
Java Desktop Applications
(Swing, AWT, SWT developed in Java version 1.8 onwards)
NoYesNoNo
Java Web Start Applications
(Swing, AWT, SWT developed in Java version 1.8 onwards)
NoYesNoNo
Java Applets
(Swing, AWT, SWT developed in Java version 1.8 onwards)
NoYes *NoNoRefer here for details.
Oracle Forms versions 12.x onwardsNoYes *NoNoRefer here for details.
Mobile Native Applications in iOS and Android
For Android SDK 18 onwards (Android OS versions 4.3.x onwards)
For iOS versions 9.3 onwards and Xcode versions 9.2 onwards
NoNoYesNo
Mobile Hybrid Applications in iOSNoNoYesNo
Mobile Hybrid Applications in AndroidNoNoMay be (Some Apps may be identified properly Natively)NoSahi Pro Web + Sahi Pro Mobile needed
Flex applications developed in SDK versions 3.4 onwardsYesNoNoNo
SAP GUI for Windows versions 6.2 onwardsNoNoNoYes

Browser Support

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

BrowserVersions
Internet Explorer
(IE mode on Microsoft Edge)
8+
Mozilla Firefox2+
Google Chrome6+
Safari5+
Opera9+
PhantomJS1.9+
Microsoft Edge25+
Microsoft Edge NewAll
BraveAll
info NOTE FOR MICROSOFT EDGE : Older versions of Microsoft Edge i.e versions 44.19041 and below have few limitations when automating with Sahi Pro. So it is recommended to use Microsoft Edge versions 79.0.309 and above.

Sahi Name

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