Sahi v3.0 - Web Automation and Test Tool

Sahi is an automation tool to test web applications. Sahi injects javascript into web pages using a proxy and the javascript helps automate web applications.

JPEG - 5 kb

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.

Open-source Automation Tool for Web Application Testing

  • Simple
    • Excellent recorder, simple scripting, no XPaths, no waits
  • Powerful
    • Multithreaded playback, File/database access, Java interoperability
  • Versatile
    • Multiple browsers, multiple Operating Systems

Version 3.0 (2010-02-21)

This release has more bugfixes/enhancements with the ZK framework in focus.

  • Features added
    • Some smaller Accessor APIs like _italic, _emphasis, _strong etc. added
    • Added ability to wait on different readyStates of AJAX calls. Default waits for 1,2,3
    • Updated java sample project
    • Modified _keyPress, _keyDown and _keyUp to take an array [keyCode, charCode] too as parameter
    • Added details to Java Sample Project
  • Bugfixes
    • Some click events on Safari, Chrome and Opera fixed
    • Fixed XMLHttpRequest proxying on Safari


  • 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


  • Framesets/pages with frames/iframes loading pages from multiple domains is not supported. Sahi cannot handle pages which have other pages from different domains embedded in them using iframes or frames. So you cannot have a page from having an iframe with a page from Note that this is not the same as switching between domains, where you navigate from a page to a page, which will work in Sahi.
  • File upload field will not be populated on browsers for javascript verification. File upload itself works fine


  • External proxy support with password authentication has been added since V2 2009-01-21 build
  • 401 and Windows authentication are available now

More information: here

Post scriptum

Compliance Mandates

  • Code Auditing :

    PCI/DSS 6.3.6, 6.3.7, 6.6, SOX A12.8, GLBA 16CFR Part 314.4(b) and (2);FISMA RA-5, SC-18, SA-11 SI-2, and ISO 27001/27002 (12.4.1, 12.4.3, 12.5)

  • Vulnerability Management :

    PCI DSS 11.2, 6.6, SOX A13.3, GLBA 16CFR Part 314.4(c), HIPAA 164.308(a)(8), FISMA RA-5, SI-2, ISO 27001-27002 12.6, 15.2.2


Related Articles

Code Auditing
Vulnerability Management