1. What is Selenium?
Selenium is an open source web application testing tool that allows you to write tests in many programming languages like Java,Ruby, Perl, Python, C# and Python.
Selenium offers following projects:
- Selenium IDE
- Selenium Remote Control
- Selenium Web Driver
- Selenium Grid
2. What kind of testing selenium can do?
Selenium can be used for the functional and regression testing of the web based applications.You can also implement selenium scripts for post release validation with continuous integration tools like Jenkins, Hudson and Quick Build.
3. How much selenium charge per user?
Selenium is an open source tool. One can simply download from selenium site and use it without any charge.
4. What are the Limitations of selenium ?
It doesn’t supports non web based applications. It only automates web applications.
No inbuilt reporting capability. You need to configure Junit or TestNg framework for reports.
5. Advantages and Disadvantages of Selenium
Advantages
Open Source tool.
Supports multiple browsers like IE, Firefox, Mozilla, Safari
Supported on Windows, Linux and Mac OS
Supports multiple programming languages Java,Ruby,C# and Python.
Highly active developer community – backed by Google
Powerful methods to locate elements (Xpath, CSS, DOM)
Run multiple tests at a time on different machines against different browsers
Disadvantages
Selenium IDE does not supports loop and data driven testing
No Option to verify the images.
Difficulty to automate AJAX
6. What is Selenium RC?
Selenium Remote Control (RC) is a server, written in Java, that accepts commands for the browser via HTTP
Selenium RC allows you to write automated tests in multiple programming language against any HTTP website using JavaScript-enabled browser.
Selenium RC has been officially deprecated in favor of Selenium Web Driver.
7. Difference between selenium RC and Web Driver?
Selenium RC(Selenium 1.0)
a) It injects JavaScript functions into the browser when the browser is loaded and then use its JavaScript to drive the AUT(Application under test) within the browser.
WebDriver does not use this technique. This the major reason that makes Selenium RC slower as compare to Web Driver.
b) Need to start selenium server in order to run test scripts.
Selenium Web Driver(Selenium 2.0)
a) It makes direct calls to the browser using each browser’s native support for automation.
b) No need to start server if tests are run on local machine.
c) Selenium Web Driver is latest and provides better API than selenium 1.0
d) It supports complicated UI operations like move mouse, drag and drop.
8. What is Selenium IDE?
Selenium IDE is a firefox Add-on that allows you to record operations such as clicks, typing etc which one can easily play back in firefox browser.
SIDE offers following features:
- Easy record/play back feature.
- Step-by-step debugging and breakpoints.
- Provides element locators such as Id, Name, css , x-path.
- One can save recorded script in multiple languages such as JAVA/Ruby/c#/python.
Limitations :-
It doesn’t support looping & conditional statements, logging functionality, reporting, exception handling.
9. Browsers supported by selenium IDE ?
Selenium IDE supports only Firefox browser.
10. What is Selenium Grid?
Selenium Grid lets you distribute your tests on multiple machine against different browsers.
Basically it is used to speed up the execution by distributing the tests on multiple machines.
Let say you have 100 tests and you set up a Grid to support 4 different machines then your execution will complete in one-fourth the time as it would if you ran your tests sequentially on a single machine.
11. Element locators in selenium ?
There are mainly 4 element locators in selenium that one can use to locate elements on a web page :
HTML Id
HTML name
Xpath
CSS selector
12. Is there any way to migrate Selenium RC scripts to Web driver ?
Yes, Web driver provides backward compatibility. Basically it provides an API called “WebDriverBackedSelenium” by which you can migrate your scripts from RC to Web Driver. For more info – Click Here
13. Difference between selenium and QTP ?
a) Selenium is an open source tool.
QTP is a licensed tool owned by HP.
b) Selenium supports IE, Firefox, Safari and Opera browsers.
QTP supports IE & Firefox only.
c) Selenium tests could be written in multiple languages such as Java, Ruby, C# and Python.
QTP supports VB script only.
d) Selenium could be used in windows, Linux and Macintosh Operation systems.
QTP Supports Windows Platform only.
e) QTP can test desktop based, mainframe applications but selenium cannot.
14. Does selenium Webdriver support mobile(Android/IOS) automation?
Selenium Webdriver doesn’t support mobile automation directly. Mean to say just by using
selenium jar, one cannot automate mobile browser/native apps.
There are another open source tools available in market such as Appium, IOS-Driver and Selendroid by which one can automate Android/IOS browser and native apps.
These tools drive IOS and Android apps using the WebDriver JSON wire protocol.
i.e You can use the same webdriver API to automate mobile apps by using these tools. They will act as a bridge between your Webdriver code and mobile app.