Locator is a command that tells Selenium IDE which GUI elements ( say Text Box, Buttons, Check Boxes etc) its needs to operate on. Identification of correct GUI elements is a prerequisite to creating an automation script.
What is relative and absolute XPath?
Absolute Xpath: It uses Complete path from the Root Element to the desire element. Relative Xpath: You can simply start by referencing the element you want and go from there. Always Relative Xpaths are preferred as they are not the complete paths from the Root element. So Always use Relative Xpaths in your Automation.
What is a Webelement?
A WebElement is just the reference to that element within the DOM. It is Selenium 's way of representing a DOM element to you so that you can manipulate it.
There are 8 locators strategies included in Selenium:
IFrame is a web page which is embedded in another web page or an HTML document embedded inside another HTML document. The IFrame is often used to insert content from another source, such as an advertisement, into a Web page. The <iframe> tag specifies an inline frame.
Selenium Grid is a part of the Selenium Suite that specializes in running multiple tests across different browsers, operating systems, and machines in parallel.
WebDriver is a web automation framework that allows you to execute your tests against different browsers, not just Firefox (unlike Selenium IDE). WebDriver also enables you to use a programming language in creating your test scripts (not possible in Selenium IDE).
Implicit Waits. Selenium Web Driver has borrowed the idea of implicit waits from Watir. An implicit wait is to tell Web Driver to poll the DOM for a certain amount of time when trying to find an element or elements if they are not immediately available.The default setting is 0.
Selenium webDriver- it is the most important component in the Selenium suite, used for creating test scripts, it is a Programmatic interface which has to be loaded in eclipse or any other IDE for test script development, it supports Java, .net, Ruby, Python, Perl, PHP for Developing Scripts.
TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as: Annotations. Run your tests in arbitrarily big thread pools with various policies available (all methods in their own thread, one thread per test class, etc).
Hence, Selenium Webdriver is the preferred tool to automate your testcases. What is an automation framework? A test automation framework is a set of concepts, and practices that provide support for automated software testing. It is a methodology built to successfully carry out test automation.
Before discussing the types of test automation frameworks, let's see what is a framework.
- What is a framework?
- Linear Scripting Framework:
- Modular Testing Framework:
- Data-driven Framework:
- Keyword Driven Testing Framework:
- Hybrid Driven Testing Framework:
- Behavior Driven Development Testing Framework:
Page Object Model is an Object Repository design pattern in Selenium WebDriver. POM creates our testing code maintainable, reusable. Page Factory is an optimized way to create object repository in POM concept.
SAF is a customized framework developed using Selenium, a widely accepted web application automation tool. It shrinks test cycle times and related costs. Selenium is a portable software testing framework for web applications. The tests can be written as HTML tables or coded in a number of popular programming languages.
Apache Maven provides support for managing the full lifecycle of a test project. Maven is used to define project structure, dependencies, build, and test management. Using pom.xml(Maven) you can configure dependencies needed for building testing and running code.
Jenkins is an leading open source continuous integration server built with Java. It is used to build and test software projects continuously making it easier to integrate changes to the project. It provides 985 plugins to support building and testing virtually any project.
Maven is a build tool, in short a successor of ant. It helps in build and version control. However Jenkins is continuous integration system, where in maven is used for build. Jenkins can be used to automate the deployment process.
A quick history lesson — Jenkins, previously known as Hudson, is an open source continuous integration tool written in Java. Last November, concern arose in the community around Oracle's perceived control of the Hudson project (including the name itself, for which Oracle submitted a trademark in December 2010).
In short, though Maven and ANT are build tool but main difference is that maven also provides dependency management, standard project layout and project management. On difference between Maven, ANT and Jenkins, later is a continuous integration tool which is much more than build tool.
Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.
TeamCity is a Java-based build management and continuous integration server from JetBrains. TeamCity is commercial software and licensed under a proprietary license. A Freemium license for up to 100 build configurations and 3 free Build Agent licenses is available.
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery. Released under the MIT License, Jenkins is free software.