Sahi is an automation and testing tool for web applications, with the facility to record and playback scripts.
Sahi's features include, in-browser controls, text based scripts, ant support for playback of suites of tests, and multi threaded playback. Sahi supports HTTP and HTTPS.
Here are some key features of "Sahi":
· Recording of browser actions.
· Playback of recorded/scripted actions.
· Accessor Viewer for identifying html elements for scripting
· Easily editable scripts (text files)
· Simple APIs
· Integrates with ant builds
· Support for global variables stored across pages in a test and across tests in a suite.
· Script refactorable into functions and files.
· Scripts runnable through url.
· Bugs can be recorded by testers and the sahi script can be published on a web server.
· This url can be included in bug reports.
· Developers can reproduce the bug by pointing to that url in the bug report.
· Scripts automatically available to others through HTTP
· Very lightweight
· Tests do not need the browser window to be in focus.
· Suites can run in multiple threads thus reducing the test execution time.
· Supports external proxy and HTTPS.
· JRE 1.4 or above
· ant, log4j.jar and junit.jar if the module is to be rebuilt.
What's New in This Release: [ read full changelog ]
· Displaying popup name in Controller.
· Using -no-remote flag instead of MOZ_NO_REMOTE. Older users need to add this to ant targets. _fail(msg) added
· Added ext.http.both.proxy.bypass_hosts to sahi.properties to bypass some domains while connecting through external proxy
· Added _sahi.printDiagnostics to get some info about browser and XMLHttpRequest being used.
· id ignored for JSF RichFaces.
· Support for IE modal dialogs (invoked via showModalDialog).
· _setSelected identifies options by id and index.
· _listItem API added for identification of LI tags.
· Fix for identifying popups from a different domain
· Fixed _continueOnError
· Put back no-cache headers because pages were being picked from cache in IE causing login/logouts on some sites to fail.
· Fixed issues with link clicks on Chrome and Safari
· Missing tests now fail the build.
· Fix related to contentlength and transfer-encoding introduced in previous build.
· Fix for XHRs not tagged properly (and hence wrongly handled) when different domains were present in iframes.
· Handling of events registered via listeners on link clicks.