Everything You Need To Know About Page Object Model and Page Factory in Selenium

As we continue to automate the test cases on a daily basis using Selenium automation, the maintenance of the growing test suite parallelly becomes complicated. While automating the test cases on Selenium, there would be an instance where we use the same web element in multiple test scripts. For example, while automating an E-Commerce application, in every test case we have to search for a particular item from a search field using Selenium locator i.e. using XPath or ID. For such scenarios, we add the search field locator in every test script which would eventually increase code duplication.

Moreover, if there is any change in the locator, we have to change the locator in every test script where a particular web element is used. To overcome such challenges, we would be further looking at the Page Object Model that would help build a framework that is easy to use and maintain.

API Test Automation With RestAssured Library and Cucumber BDD Framework

Introduction to Rest Assured Library

REST (Representational State Transfer) is an architecture that consumes HTTP calls for inter-system communication where a client can access the server resource with a unique URI, and the response of the resource is returned. The URI of the resource acts as a resource identifier, and HTTP operations like GET, POST, PUT, PATCH, and DELETE can be performed on the resource.

REST Assured is a Java library that leverages developing robust, maintainable tests for Restful APIs with domain-specific language(DSL). Let’s discuss some of the salient features of the Rest Assured Library:

Guide to TestNG Assertions in Selenium Based Test Automation

We all know that testing is a significant part of SDLC, which can be performed manually or automated. No matter which testing type we adopt, knowing where we are getting application blockers while testing is essential. Learning application blockers becomes a bit easy while manually testing an application as human touch is involved.

However, when testing an application via automation, we should explicitly adopt a strategy where we can validate whether the expected results meet the actual results or not.

Handling Iframes in Selenium Based Test Automation

An iFrame is commonly known as an inline frame which is nothing but an HTML document embedded inside another HTML document. iFrames are a simpler way to embed a web page inside another web page. iFrames are mostly used to display external information on the webpage like displaying advertisements and videos from third-party sources.

The iFrame is basically a tag used in HTML5 like <iframe></iframe>.

How to Debug Selenium-Based Test Scripts

Writing and maintaining the test automation code is not always a piece of cake. As a matter of fact, we frequently face many scenarios where automated test cases don’t work as expected and might lead to false positive or false negative results, in such cases, debugging is the only way out. Debugging is the primary skill set that an automation tester must adopt. It increases the morale and confidence in automation testers to provide a better code solution to fix the problem permanently.

Debugging issues in the test automation framework become more complicated when the test automation framework has a huge number of test cases. With the expansion of features in the application, the number of test cases gradually increases. In such a scenario, fixing complex issues of hybrid frameworks might require enhanced techniques of debugging. In this article, we will deep dive into such essential debugging techniques that will not only fix script issues easily but also save a good amount of debugging time.

All You Need To Know About Exception Handling In Selenium

In the world of technology, exceptions are said to be as old as programming itself. The occurrence of an exception during the execution of code can result in unexpected behavior unless the exception is properly handled in the code. Exceptions are not bad but are a fundamental part of modern programming. Rather than having a fear of exceptions, it is important to know how to tackle which exception at what moment of time. Moving further, we would discuss how to handle exceptions elegantly and use exception handling to write clean code which is more maintainable.

What is an Exception?

The exception is a programmer’s commonly used term regardless of any specific programming language. ‘Exception’ as the name suggests are the events due to which the program ends abruptly without displaying an expected output.

Setting up Modern Web Test Automation Framework with Selenium and Python

Nowadays, it has been a dominant trend to deploy big releases on an infrequent basis without sacrificing the quality of the product. With Every new deployment that introduces new features, bug fixes need in-depth end-to-end testing to ensure the success rate of deployment. The small product or projects can be covered up with manual testing but the products or applications that are huge in amount of features definitely require automation testing to provide maximum test coverage in minimum time. Such use cases can be achieved with the use of Selenium with any robust programming language, in this post we will be using Selenium with Python.

Selenium WebDriver is a web framework that permits the automation of web-based applications on various supported browsers like Chrome, Firefox, Safari, etc. The selenium test automation framework enables you to define step-by-step interactions with a web application and adding assertions to uncover maximum bugs.

Exploratory Testing: A Guide Toward Better Test Coverage

Exploratory testing is a black box testing technique which gives testers the freedom to think outside-the-box with a minimal dependency on pre-designed answers and checklists in order to improve the quality of an application. Exploratory testing is a detailed series of testing conducted by exploring the platform, designing test cases, executing those test cases, and measuring the results. The rule of thumb for exploratory testing is minimum planning and maximum execution

Exploratory testing is a crucial aspect of software testing as it is not a script-based test – it involves the art of being creative and productive. Nowadays, this type of testing is preferable as it doesn’t define a fixed set of methodologies which a tester has to follow. The tester is completely free to follow their own path, to play with an application, and to identify potential bugs. This is actually a process that simultaneously carries out the activities of test design and test execution without formally documenting the test cases and test conditions.

How WebDriverIO Uses Selenium Locators in a Unique Way

In any automation testing framework, finding elements is the most fundamental activity. We have to choose web elements very carefully so that automation script execution can handle static and dynamic elements for stable test results. WebDriverIO has many advanced Selenium locators/ selector strategies compared to other automation testing frameworks. Traditionally, each locator has a specific By method which identifies the locators during runtime. 

WebdriverIO has simplified these By methods and now we do not have to specify them explicitly. 

13 Ways For Your Functional Testers To Do More Than Just ‘Testing’

Thirteen reasons why you should do more than just test.


Functional testing of a web application or a website is one of the most essential phases of the SDLC. Providing a scalable infrastructure for cross-browser testing on the cloud, we realize that offering a SaaS platform to our audience with even with a minor bug may lead to a devastating outcome, and not only for us, but also for our customers.

Selenium Java Tutorial: Automation Testing of a User Sign Up Form

If you are just starting with Selenium automation testing of your product, the first page you would probably want to automate would be the Sign Up or Login Page. If you have an online platform, like an ecommerce company or a Software-as-a-Service product, the Sign Up page acts as the door to welcome visitors to your web application. 

It is one of the simplest yet one of the most important pages of your platform, and comes at the start of every possible user journey that you may want to test. Hence, it is also one of the most important web pages for your web application.

22 Reasons Why Test Automation Fails For Your Web Application

Automation testing in progress.


I can relate to the feeling where you wish to achieve flawless automation testing in the blink of an eye! On the other hand, I also understand the apprehension that is causing you to delay test automation. When an enterprise has just begun the transformation, there are a plethora of challenges to overcome. Even if you apply the best practices, some shortcomings can result in wastage of automation efforts. So, I’ve decided to list out 22 reasons that in my experience, are responsible for automation testing failure.

TestNG Listeners in Selenium WebDriver With Examples

There are different interfaces provided by Java that allow you to modify TestNG behavior. These interfaces are further known as TestNG Listeners in Selenium WebDriver. TestNG Listeners also allow you to customize the tests logs or report according to your project requirements. TestNG Listeners in Selenium WebDriver are modules that listen to certain events and keep track of test execution while performing some action at every stage of test execution.

This is a TestNG tutorial, where I will help you realize the different TestNG listeners with examples so you can use them proficiently the next time you plan to work with TestNG and Selenium.

JUnit Annotations in Selenium

JUnit is a Java-based, open-source framework to help you execute unit testing. JUnit is used primarily to test each and every unit or component of your application, like classes and methods. It helps to write and run repeatable automated tests to ensure your code runs as intended. The framework offers support to Selenium for automation testing for web apps or websites.

This article is my attempt to help you use JUnit annotations in Selenium as a professional tester would. We would be looking at examples of JUnit annotations in Selenium, their order of execution, along with some special JUnit annotations that are used for a specific purpose. We will also be looking into a collective code for executing each example of JUnit annotations in Selenium.