Sahi Pro - Introduction
Sahi Pro v11 is now available! See what's new in Sahi Pro v11.1.0!
Sahi Pro is a mature, business-ready test automation platform for functional testing of UI intensive applications.
It automates testing of Web, Webservices, Mobile, Windows Desktop, SAP GUI and Java applications.
Sahi Pro saves time and effort with fast development, low maintenance and fast, reliable playback.
Sahi Pro comes in 2 flavours - Sahi Pro Flowcharts (v11 onwards) and Sahi Pro Classic (before v11).
Sahi Pro Flowcharts
Sahi Pro Flowcharts is a no-code, visual way of representing and automating test flows.
In Flowcharts, most programming patterns used in test automation have been distilled into a no-code interface.
Flowcharts is available since Sahi Pro v11.
Flowcharts is available since Sahi Pro v11.
Sahi Pro Classic
Sahi Pro Classic is a low-code test automation tool. It allows Business Driven Test Automation(BDTA) via an Excel/Spreadsheet like interface.
Recorders and wizards make creating and managing scripts easy.
Sahi Pro + Add-Ons
Sahi Pro Web
Sahi Pro Web helps automate functional testing of web applications. It supports web application and REST API automation.
Sahi Pro Web is well suited for cross-browser/multi-platform testing of complex web 2.0 applications with lots of AJAX and dynamic content.
Sahi Pro Desktop
Sahi Pro Desktop Add-on adds support for automating Windows desktop applications (Win32, WPF, WinForms, .NET SilverLight, XBAP, Universal Windows Platform (UWP)),
Java Desktop Applications, Java Applets and Java Web Start applications.
Sahi Pro Mobile
Sahi Pro Mobile Add-on adds supports for Mobile applications.
It supports automation for Native, Web and Hybrid applications on iOS and Android.
Sahi Pro SAP
Sahi Pro SAP Add-on adds support for automation of SAP GUI.
It has been available since Sahi Pro v9.0.0.
AI
Sahi Pro AI Assist
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.
Sahi Pro Runner
Sahi Pro Runner can be used with Continuous Integration and build systems as both master and worker,
and as a central database for reports.
Main Features
- Excellent frameworks for test automation
- No-code: Sahi Pro Flowcharts - No-code, visual, flowcharts based UI
- Low-code: Business Driven Test Automation Framework - Excel/Spreadsheet like UI
- Pro-code: Scripting via Javascript or Java
-
Simple, yet powerful and robust object identification:
- 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
- Similar mechanisms used for mobile, desktop, Java and SAP.
- For tricky applications and corner cases, AI Assist add-on allows image recognition and optical character recognition (OCR)
- Automatic Waits: For web applications, 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. Similar mechanisms used for mobile, desktop, Java and SAP.
- Excellent recorder and object spy makes test creation easy. Recorder works on Internet Explorer, Firefox, Chrome, Safari, Opera (and any modern browser), Mobile (iOS, Android) and Desktop applications (Windows, Java etc.).
- 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.
- Inbuilt Sahi Pro Flowcharts Framework
- Flowchart interface to create Business Scenarios
- Powerful recorder and step composers
- Clean separation of flows, keywords, steps, UI Elements and data
- Inbuilt support for object repository, positive and negative data validations, data generators, external data looping, suites, tags and more
- Override with code if needed.
- Call existing keywords/functions in scripts from flowcharts.
- Trigger Classic suites from Flowcharts suites.
- All automation files are text files and are version controllable
- Inbuilt Business Driven Test Automation (BDTA) 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
- Easily scriptable via Javascript or Java.
- 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.
- 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
- In Sahi Pro Flowcharts, suites are automatically created. Batch playback available at both project and flowchart levels, with tag filters.
- 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
- 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)
- 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.
- 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 FeaturesThese common features are available in all editions (Sahi Pro Web, Sahi Pro Mobile, Sahi Pro Desktop and Sahi Pro SAP)
- Dashboard
- Flowcharts Framework
- Recorder
- Editor
- Business Driven Test Automation (BDTA) Framework - Sahi Pro Classic
- Sahi APIs in Javacript
- Sahi APIs in Java
- Continuous Integration (Jenkins, Bamboo etc.) via ANT
- Sahi Pro Runner available
Technologies supported
Sahi Pro | Sahi Pro Desktop Add-on | Sahi Pro Mobile Add-on | Sahi Pro SAP Add-on | Combination Needed | |
Database | Yes | Yes | Yes | Yes | |
Filesystem | Yes | Yes | Yes | Yes | |
REST/Web Services | Yes | Yes (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 systems | Yes | No | No | No | |
Web applications on mobile browsers | Yes (needs trigger from mobile device) | No | No | No | Sahi Pro Web + Sahi Pro Mobile needed |
Web applications in Chromium Embedded Framework (CEF) | Yes | No | No | No | |
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 | No | Yes | No | No | |
Java Desktop Applications (Swing, AWT, SWT developed in Java version 1.8 onwards) | No | Yes | No | No | |
Java Web Start Applications (Swing, AWT, SWT developed in Java version 1.8 onwards) | No | Yes | No | No | |
Java Applets (Swing, AWT, SWT developed in Java version 1.8 onwards) | No | Yes * | No | No | Refer here for details. |
Oracle Forms versions 12.x onwards | No | Yes * | No | No | Refer 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 | No | No | Yes | No | |
Mobile Hybrid Applications in iOS | No | No | Yes | No | |
Mobile Hybrid Applications in Android | No | No | May be (Some Apps may be identified properly Natively) | No | Sahi Pro Web + Sahi Pro Mobile needed |
Flex applications developed in SDK versions 3.4 onwards | Yes | No | No | No | |
SAP GUI for Windows versions 6.2 onwards | No | No | No | Yes |
Browser Support
Sahi supports any browser which runs javascript and allows setting a proxy. This covers almost all desktop and mobile browsers.Browser | Versions |
Internet Explorer (IE mode on Microsoft Edge) | 8+ |
Mozilla Firefox | 2+ |
Google Chrome | 6+ |
Safari | 5+ |
Opera | 9+ |
PhantomJS | 1.9+ |
Microsoft Edge | 25+ |
Microsoft Edge New | All |
Brave | All |