Sahi Open Source (or just Sahi) is a test automation tool for web applications. Sahi is especially good for testing dynamic AJAX applications. Sahi handles dynamic ids, automatically waits for page loads/AJAX activity to subside, and instead of complex mechanisms like XPath and CSS Selectors, exposes simple APIs like _in, _near etc. to identify one element with respect to another. Sahi’s playback mechanism is highly robust and does not need unnecessary wait statements.
Sahi is a tester friendly tool. It abstracts out most difficulties that testers face while automating web applications. Some salient features include excellent recorder, platform and browser independence, no XPaths, no waits, multithreaded playback, excellent Java interaction and inbuilt reporting.
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
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
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
Limitations
- Sahi cannot access elements outside the browser view port. For example, it cannot click on toolbar buttons.
- File upload needs work-around
- SVG and Canvas elements are not supported
- For pages requiring integrated Windows authentication, Sahi’s Java process uses the Windows logged in user’s credentials. Only if the logged in user does not have access to the web application, will Sahi show the 401 challenge. Once logged in, it is not possible to logout of the authenticated session without restarting Sahi.
- On some Android Emulators, https sites do not honor proxy settings. So Sahi cannot work on HTTPS sites on some Android Emulators
NOTE:
External proxy support with password authentication has been added since V2 2009-01-21 build
401 and Windows authentication are available now
Framesets/pages with frames/iframes loading pages from multiple domains is NOW supported.
Sahi can now handle pages which have other pages from different domains embedded in them using iframes or frames. If you have a page from google.com having an iframe with a page from yahoo.com, Sahi will prefix the domain correctly to the recorded step.
Sahi is free and open source under the Apache 2 license.
