Sahi is an automation and testing tool for web applications, with
the facility to record and playback scripts.
Developed in java and javascript, this tool uses simple javascript
to execute events on the browser.
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
webpage.
This makes the tool independent of the website/ web
application.
- 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
- Logging/reports
- Script is in javascript hence supports concepts and constructs
that javascript supports
- 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.