This is about selenium as an automation tool, its components, and the edge it owns over other automation tools.
Selenium is an open source set of libraries initially developed by ThoughtWorks. These libraries can be used with java, ruby, C#, perl, and other programming languages to interact with the web browser. Over time, selenium has evolved and became a widely used automation tool attributed to the wide community base which contributed to its enhancement, maintenance, and scalability. Thus selenium has gained an edge over other commercial tools available in the market. Getting started with selenium is easy and no commercial cost is involved for using selenium. It is free and easy to use. But unlike other commercial tools, it does not provide any UI to ease the automation. User has to write code even for slightest of web operation.
RC
GRID
IDE
WEB DRIVER.
GRID and WEB DRIVER are the most commonly used components of selenium these days. Selenium RC became obsolete and replaced by webdriver. In Selenium RC, there used to be a separate server that acts as an interface between browser and selenium commands. On the other hand in selenium webdriver, a specific browser driver is initialized and invoked by webdriver object and executes selenium command without having anything acting in between.
Selenium Grid gives us the flexibility to execute our automation tests on various browsers, platforms, and operating systems. Visit our article SELENIUM GRID on how to create hub and nodes, define desired capabilities, and invoke remote web driver to execute automation tests on remote machines using selenium grid. Selenium IDE was used for record and playback.
Selenium support wide range of platforms and browsers. Below is the list of operating systems supported by selenium:
WINDOWS
MAC OS
LINUX
Below is the list of browsers supported by selenium:
CHROME
IE
FIREFOX
OPERA
EDGE
SAFARI
You can download selenium libraries from: Download selenium
You might be wondering when the selenium automation comes into the picture after seeing the below high-level life cycle
But it is not always at the end of the SDLC phase or during the testing phase. We'll come to it in later posts.
In a nutshell, selenium webdriver is an interface that is used to interact with the browser. It is a collection of classes and comes in the form of a jar. It can be bound with any programming language like java, ruby , perl, C# to perform operations on browsers. Any web component which displays on the browser can be operated upon by a webdriver object. Out of the numerous operations performed by webdriver on web elements of a web page, some basic operations include inputting into text fields, clicking buttons, selecting radio buttons, click, right click, double click, mouse hover, drag and drop, a selection from dropdown, switching between the windows, and frames, handling alerts. Selenium web driver provides APIs and libraries to handle different aspects of web components.
In the next section, we'll see how to get started with selenium web driver. Let's get going..
Navigating the Path to a Career in Software Testing
Software testing is a vital component of the software development lifecycle, ensuring that applications meet quality standards and function as intended. Contrary to past perceptions of software testing as a mundane and less creative field, it has evolved into a dynamic career path, rich with opportunities for innovation and growth. With the advent of automation, software testing now requires a similar level of programming expertise as software development. A career in software testing offers a diverse range of specializations, including API, security, database, and load testing. As the gatekeepers of product quality, software testers play a crucial role in preventing costly errors, maintaining user satisfaction, and ensuring the success of a product in a highly competitive market. A well-rounded tester, akin to a full-stack developer, is highly sought after for their ability to handle both functional and non-functional testing aspects. Certifications, such as those offered by the International Software Testing Qualifications Board (ISTQB), can provide a competitive edge for those starting in the field.Mastering Performance Testing with JMeter
Discover the essentials of performance testing with JMeter, an open-source Java tool from Apache Software Foundation. JMeter is designed to analyze and measure the performance of various applications by simulating loads on servers. It supports testing for web applications using HTTP/HTTPS, web services via SOAP and REST, databases through JDBC, and more. With its user-friendly GUI, JMeter allows testers to easily add and configure components such as Samplers, Config elements, Listeners, Controllers, and Assertions.Test Automation Architecture
A test automation architecture is the organization and abstraction of test scripts, test data, and business logic. An efficient test automation architecture is one that has all its layers loosely coupled and scalable. In this article, we'll understand the POM design pattern and its implementation. The page functions and logic are abstracted from test scripts in POM, moreover, it is easy to maintain and scale. It is the application of different tools, methods, and techniques in an efficient way to accomplish varied testing goals.