Monday, 3 September 2012

Pros & Cons of Watir, Selenium or Sahi tools


Watir

Pros:
  • It’s a Ruby library
  • Multi browser (& OS) support
  • Has a rich API
  • Has a ‘Simple’ class (for non-tech users)
  • Watij & Watin (Java & .NET)
  • gives more stable and straightforward feeling
  • automatically waits for the page to finish loading
  • can detect when it's finished loading
  • Watir's API more. It's richer than Selenium's
  • provides an "attach" method which lets me programmatic access both
    the original domain window and the linked domain window from the same test.
Cons:
  • Have to learn Ruby (unless you choose
    Watij or Watin)
  • Every browser requires a different
    library

Selenium

Pros:
  • Multi browser, OS & language support
  • Install server-side or as FF add-on
  • Has its own IDE, which speed up development
  • Record and playback tests
  • selenium rc + selenium ide (firefox plugin) for recording and playback of test case is great for generating test case on the fly
  • Choice of programming language
  • using JAVA through CruiseControl, make it easy to conver the selenium test code to JAVA
Cons:
  • Have to learn a vendorscript => Selenese (Unless you write tests
    in another language which it supports. Then you just have to use the API
    reference which is straightforward.)
  • has a lot of timing problems
  • have to use the pause command (or Thread.sleep() if you use it in Java to wait for the loading to complete
  • with Selenium is that it is very difficult to test complex multi-site apps
  • clickAndWait is not helping when working with Ajax technology
  • runs fine in firefox but had different problem on PC with IE6 and IE7
  • learning curve is on the higher side
  • IDE is nothing but a FireFox plugin...and it works only on FireFox
  • record and play back only on FireFox and only if you install the plugin
  • automation engineer needs to have reasonable experience on the chosen language
  • need to implement most of the things including logging mechanisms
  • Extensible Javascript APIs need a rebuild
  • Selenium needed a lot of hand holding
  • selenium doesn't support IE
Remarks:
  • use clickAndWait to wait for the page to load
  • using Java language
  • Selenium 1.0 uses Javascript
  • can use Python to run IE7 with Selenium Webdriver.

Sahi

Pros:
  • Multi browser support
  • Has its own IDE
  • Record and playback tests
  • Data-driven test via jdbc:odbc bridge (this allows to exploits data
    file as xls, mdb, csv, and .. every supportend jdbc:odbc driver)
  • active community (fast replies to bugs/problem/suggestions)
  • test success/failure reporting in html files
  • capabilities to run test using batch file or ant script
  • lightweight and not stress too much the host server.
  • install once and use anywhere
  • After Sahi server is running, tester can access Sahi Controller (aka IDE) from any supported browsers, no need for local installation
  • including a script recorder, object inspector, log broser, debugger, utility to test code without recording
  • Easy to learn, simple, powerful APIs
  • Built-in color coded HTML logs
  • Extensible Javascript APIs
  • Extensible on the server with Java
  • Parallel execution of tests
  • Multiple domain scripting
  • its not using x path
  • supported IE
Cons:
  • Confusing interface
  • Least developed/smallest community
  • documentation needs to be enhanced 
  • need to be improved reporting
  • needs more visibility on the web
  • controller can be a bit quirky need some learning curve
Remarks:
  • Javascript as the scripting language
  • similar in concept to Selenium

No comments:

Post a Comment