Sahi is an automation and testing tool for Web applications, with the facility to record and playback scripts. Features include, in-browser controls, text based scripts, ant support for playback of suites of tests, and multi threaded playback. It supports HTTP and HTTPS. Sahi runs as a proxy server, and the browser needs to use the sahi server as its proxy. Sahi then injects JavaScript so that it can access elements in the Web page. This makes the tool independent of the Web site or Web application.
| Tags | Software Development Testing Quality Assurance Internet Web Browsers |
|---|---|
| Licenses | Apache 2.0 |
| Operating Systems | OS Independent |
| Implementation | Java JavaScript |
Recent releases


Changes: This release uses Rhino as the scripting engine, thus moving most of the script execution to the proxy. This should go a long way in simplifying Sahi scripts. This build also has some important changes to the SocketPool, which will fix issues related to too many sockets being used and errors due to BindExceptions. Suite execution has been changed such that even if the browser crashes, the suite will continue with the next script and thus not hold up a build. DB methods now close connections properly.


Changes: This release fixes multi-threaded playback on Firefox and adds features like custom event logging, assertion on print events, and better identification of spans and divs.


Changes: Ths tool will now automatically wait during XHR AJAX requests in most cases. There is improved support for drag and drop. Bugs with_setFile, _confirm, etc. have been fixed. Tests will automatically be killed if the browser hangs for some reason.


Changes: The following APIs have been added for AJAX applications: _keyPress(el, char); _focus(el); _keyDown(el, char); _keyUp(el, char); and _wait(max_time, condition). A bug relating to framesets having a frame named "top" has been fixed. Support for popup windows without names has been added.


Changes: Functionality for mocking file uploads was added through the _setFile(_file("id"), filePath) API. A tool for toggling proxy on Internet Explorer through the command line or Ant was added. _expectConfirm(boolean) and _lastConfirm() APIs were added.