Selenium tests run directly in a browser, just as real users do
One can use his favorite Java ,Perl ,html, Ruby…etc
Create one script and test on multiple platform like Macintosh, Windows, Linux.
Easy to use and understand.
Last but not the least, this is an open source and has a big forum where you can post your doubts.
Friday, May 2, 2008
Selenium Remote Control
I think Selenium Remote Control is more robust, ‘best-practice’ solution to functional automation of a web UI.Selenium Remote Control provides a Selenium Server, which can automatically start/stop/control any supported browser. It works by using Selenium Core, a pure-HTML+JS library that performs automated tasks in JavaScript. Selenium RC can be used for automating web applications for different web browsers on different platforms using your favorite language like JAVA, C#, Perl, Python, Ruby etc. You can use Selenium RC with or without Selenium IDE. Though, you might find it easier to start with Selenium IDE and than move to Selenium RC for customization and making your automation more robust.
Selenium Core
Selenium Core is one of several ways you can use Selenium for browser automation. Selenium Core tests (Written in pure JavaScript/DHTML) run directly in a browser, just as manual tests do after Copying Selenium Core tests directly into Document Root, htdocs, or webroot of the webserver .But Language support for Selenese only.
Selenium IDE
Selenium IDE is the easiest way to use Selenium and most of the time it also serves as a starting point for automation. Selenium IDE comes as an extension to the Firefox web browser. Selenium IDE is the only flavor of Selenium which allows you to record user action on browser window. It can also record user actions in most of the popular languages like Java, C#, Perl, Ruby etc. This eliminates the need of learning new vendor language. As compared to most of the test automation tools it is very simple and lightweight. Limitations of Selenium IDE in terms of language support for running the test script internally (Only Selenese) and browser support (Firefox only)
Selenium Framework
Selenium is a framework that allows running acceptance tests in the browser directly. Recorded or scripted scenarios can be played back and the expected result verified. While this is very straight forward with normal page-based applications, without dynamic Ajax calls it is relatively tricky to implement tests for Ajax-based applications with a lot of dynamics and user interaction like drag and drop. Selenium drives a real web-browser via JavaScript, enabling your tests to run in multiple browsers (Internet Explorer, Mozilla and Firefox) on multiple platforms (Windows, Linux and Macintosh). Selenium is primarily developed in Java Script and browser technologies and hence supports all the major browsers on all the platforms. For example, you can have your automation scripts written for Firefox on Windows and run them on Firefox in Mac. Most of the time, you will not need to change your scripts for them to work on Mac.
There are three variants of Selenium, which can be used in isolation or in combination to create complete automation suite for your web applications.
· Selenium IDE (Integrated Development Environment)
· Selenium Core
· Selenium Remote Control
There are three variants of Selenium, which can be used in isolation or in combination to create complete automation suite for your web applications.
· Selenium IDE (Integrated Development Environment)
· Selenium Core
· Selenium Remote Control
Traditional Web UI Testing: Drawbacks
Traditional Web UI Testing tools differentiate you on the basis of language. Means almost all the testing tools are using one or the other language. So if you are having knowledge of some “X” language and the tool uses “Y” then you are left with two options
1. Devote some time and learn the language.
2. Don’t use that tool and go for other for which will cost you more.
On the other way of classification we can see that there are two main classes of Web application testing tools:
§ Tools that simulate browsers ("Web protocol rivers") by implementing the HTTP request/response protocol and by parsing the resulting HTML.Examples of such tools are HttpUnit(Java), WWW::mechanize (Perl), and mechanize and webunit (Python).
§ Tools that automate browsers ("Web browser drivers”) by driving them, for example, via COM calls in the case of Internet Explorer. Examples of such tools are Watir (Ruby), Samie (Perl), Pamie (Python), and JSSh (Mozilla extension).
The main difference between Selenium and other HTTP test tools is that Selenium uses an actual browser driven via JavaScript to play back testing scripts. This means that Selenium has someunique features not available in any other Web test tool:
§ It can test client-side functionality implemented in JavaScript.
§ It can be used cross-platform and cross-browser, which makes it a perfect tool for browser compatibility testing.
Last but not the least point is the money. Almost all the testing tools with some good features also come with a good price tag, which any company wants to avoid.
1. Devote some time and learn the language.
2. Don’t use that tool and go for other for which will cost you more.
On the other way of classification we can see that there are two main classes of Web application testing tools:
§ Tools that simulate browsers ("Web protocol rivers") by implementing the HTTP request/response protocol and by parsing the resulting HTML.Examples of such tools are HttpUnit(Java), WWW::mechanize (Perl), and mechanize and webunit (Python).
§ Tools that automate browsers ("Web browser drivers”) by driving them, for example, via COM calls in the case of Internet Explorer. Examples of such tools are Watir (Ruby), Samie (Perl), Pamie (Python), and JSSh (Mozilla extension).
The main difference between Selenium and other HTTP test tools is that Selenium uses an actual browser driven via JavaScript to play back testing scripts. This means that Selenium has someunique features not available in any other Web test tool:
§ It can test client-side functionality implemented in JavaScript.
§ It can be used cross-platform and cross-browser, which makes it a perfect tool for browser compatibility testing.
Last but not the least point is the money. Almost all the testing tools with some good features also come with a good price tag, which any company wants to avoid.
Selenium :Introduction
Selenium grew out of a testing framework that was developed to acceptance-test the functionality of ThoughtWorks web-based time & expense reporting application.It is open source software, released under the Apache 2.0 license, so it can be downloaded and used without charge.
A colleague recently shared this wonderful anecdote with me regarding how Open QA Selenium got its name in the software world.Mercury is a company that produces interactive testing solutions (Test Director for instance) - and they charge a lot of money for these tools. You can get involved in the Mercury Interactive Testing Solutions for this if you like.Selenium is open source- and as such costs you nothing.Selenium, as the chemists amongst you may be aware, is the antidote to Mercury poisoning.In the context of this open source tool, Open QA Selenium is the "antidote" to the commercial companies like Mercury Element
A colleague recently shared this wonderful anecdote with me regarding how Open QA Selenium got its name in the software world.Mercury is a company that produces interactive testing solutions (Test Director for instance) - and they charge a lot of money for these tools. You can get involved in the Mercury Interactive Testing Solutions for this if you like.Selenium is open source- and as such costs you nothing.Selenium, as the chemists amongst you may be aware, is the antidote to Mercury poisoning.In the context of this open source tool, Open QA Selenium is the "antidote" to the commercial companies like Mercury Element
Subscribe to:
Posts (Atom)