## Sahi - Web Automation and Test Tool

Documentation in this directory is not current. Please visit http://sahi.co.in/ for the latest documentation.

## Introduction

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.

#### Features

- 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.

Please send your feedback to V Narayan Raman.