Selenium has become the de facto standard for web automation testing. Here is a list of interview questions for testing QA enginner's Selenium skills before hiring them.
What is automation testing ?
Automation testing as a process automating manual testing an application or a system. It usually involves separate tools which allows testers to write scripts which can be executed repeatedly and doesn't require much of manual administrative intervention.
What is selenium ?
Selenium is a software testing suite which is used to perform automated testing. It essentially automates the functional aspect of a modern browsers which can then be used to test web based applications. Selenium is also open source and has a very vibrant and active open source community. Selenium is a collection of different tools and utilities and has multiple components.
What are the different components of selenium ?
Selenium has following parts
Selenium IDE - Selenium IDE is Selenium integrated development environment which is a record and playback tool distributed as a firefox browser plugin.
Selenium Remote Control - Selenium RC is a server based tool in selenium suite which allows testers to write automation test scripts in any programming language. Out of the box it supports multiple browser which can then run those scripts.
Selenium Webdriver - Webdriver is new addition to selenium software suite and it is used to communicate directly with the web browser using its native compatibility and binding in order to automate the testing process. Webdriver is alternative to selenium remote control and is usually considered better as compared to selenium RC.
Selenium grid - Selenium Grid is a utility which is used to distribute test execution on different platforms and environments in a concurrent fashion.
What are the different types of testing which is supported by selenium ?
Selenium is capable of supporting functional and regression based automation testing.
What are some of the limitations of selenium ?
Selenium requires significant programming experience to write automation scripts
Selenium doesn't have comprehensive report tool integrated into the softwares suitr and the reports can only be generated using third party tools likeTestNg or Junit
Selenium cannot be used to test native mobile applications and is only used for web based applications.
Selenium doesn't support captcha and barcode based input.
What is Selenese ?
Selenese is a set of selenium commands which are used to test the web application. Selenese can be used by testers to test broken links, checking whether certain object is available on the ui, page app functionality, alerts, list options, etc.
What is the difference between Assert command and Verify command in selenium ?
Asset Command - Assert command in selenium basically check whether a given condition is true or false. If the condition is true then only the program control will execute the next steps and if the condition is false the execution of the program will stop.
Verify Command - verify command in selenium is also used to test if a condition is true or false but the difference between verify command and assert command is that, in verify command the program of execution won't stop even if the condition is false and all the further steps would be executed.
What are multiple types of drivers available in Selenium webdriver ?
Selenium webdriver supports multiple browsers and has different driver such as : android driver iphone driver, safari driver , chrome river, internetexplorer driver, firefox driver, operad river htmlunit driver.
What are some of the advantages of automation testing framework ?
Having an automation testing framework helps in maximum coverage of the tests. Most of the automation testing tools also have integrated reporting and analytics. Automation testing frameworks automate most of the manual administrative tasks thus saving time. Also while using automation testing frameworks code can be used multiple times and they usually have low maintenance as compared to writing something custom from scratch.
What is Object Repository in Selenium ?
Object repository is a way to maintain object properties for the application under test so when an automated test script is being written, instead of hardcoding object properties, object repository is used to save time. A simple object repository can be a collection of key value pairs where the key corresponds to logical name identifying the object and value will contain the unique object properties which are used to identify them on the screen.
How to handle windows based popup while using selenium ?
Selenium can only be used for web application testing and when it comes to native application such as windows applications, selenium alone cannot solve the problem and requires third party tools or solutions. In order to handle windows based popup there are several third party tools such as AutoIT, Robot class etc.