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