Sign in

Founder of MaxSoft | RPA Solution Architect | Open-source Contributor | Automation Framework Developer | Senior Software Automation Engineer

Android application automation with Page Object Model

Appium Architecture

Introduction to Page Object Design Pattern

Page Object is a Design Pattern which has become popular in test automation for enhancing test maintenance and reducing code duplication.

A page object is an object-oriented class that serves as an interface to a page of your AUT. The tests then use the methods of this page object class whenever they need to interact with the UI of that page. The benefit is that if the UI changes for the page, the tests themselves don’t need to change, only the code within the page object needs to change. …

A perfect reporting plugin which automatically generate the Extent report for test automation.

Sample Extent Report


In automation engineering, reporting and result presentation is a significant objective of a test project.
Extent report is one of the mostly used reporting tool in the industry. But for that, we have to implement it within our automation project itself.
To make the lives easy, I have implemented a simple plugin which enables you to integrate Extent report into your project without writing codes for the reporter.


  • Automatically generates the Extent report after the test execution.
  • Reporter details can be configured through a property file.
  • No need to implement classes for Extent reporting.
  • Easy to use.

Technologies/Frameworks Used

  • Java
  • Extent Report

Real time health check dashboard for your backend services.

MaxSoft — API Health Checker


When we are working on a real project it is vital to have dashboard where we can find the availability of the backend services integrated with that project. This project can be used for that purpose.


  • Easy to find unavailable backend services
  • Real-time updating the services status in every “x” seconds (“x” can be configured. By default “x” is 30 seconds)
  • Easy to integrate services
  • No need to worry about the CORS issue
  • Both Web and Mobile friendly UI
  • Free and open-source


Android application automation using Appium


  1. Introduction
  2. What is Appium?
  3. Pre-requisites
  4. How to get appPackage and appActivity?
  5. How to Inspect a session to get locators?
  6. How to develop an Appium test?
  7. How to run the test?

1. Introduction

Mobile applications are more popular than web application nowadays because of the mobility provided by the smart phone manufacturers. Today, most of the things a laptop can do, can also be done using a smart phone too. So that, learning mobile application automation will be vital to Quality Engineers.

2. What is Appium?

Appium is an open source test automation framework for use with native, hybrid and mobile web apps. …

How to survive in an agile culture


In software development industry, agile is the mostly used software development methodology nowadays. It was designed to make your life easy. But most of the time, people will be struggling with agile. In this article I have given few tips to overcome the issues you are facing.


  1. What is Agile?
  2. Why Agile?
  3. Agile practices
  4. Daily activities
  5. Backlog grooming activities
  6. Mid sprint review activities
  7. Sprint closure activities
  8. New sprint starting activities
  9. Quarterly planning activities (PI planning activities)
  10. Best practices
  11. Is agile a headache?

1. What is Agile?

Agile is an approach by which a team can manage a project by breaking it up into several…

A simple and easy way to spin-up any automated browser session in any platform

Selenium WebDriver

Why do we need to have webdriver manager for selenium projects?

Usually when we are doing Web UI automation, we will use chrome browser and we will create environment variable for the chrome driver binary file.

System.setProperty("", projectDir + "\binaries\chromedriver.exe");
WebDriver driver = new ChromeDriver();
String baseUrl = "";

Drawbacks of this implementation:

  1. Chrome driver is stored in the project folder (EXEs are vulnerable)
  2. Chrome driver version need to update manually for the new chrome releases
  3. Only works in Windows operating systems
  4. Need to have more codes to run on other operating systems
  5. Need to change this code to run on headless mode
  6. Only run in Chrome browser
  7. Need to…

Automated code quality review tool


  1. Introduction to SonarQube
  2. Quality Concepts
  3. Quality Gates
    3.1 Overview
    3.2 Use the Best Quality Gate Configuration
    3.3 Recommended Quality Gate
    3.4 Quality Gate Status
    3.5 Getting Notified When a Quality Gate Fails
    3.6 Security
    3.7 Defining Quality Gates
  4. Steps to integrate SonarQube with your maven project
  5. GitHub Sample Project
  6. References

1. Introduction to SonarQube

SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.

API CRUD operation development using Express.js



  1. What is REST?
  2. What is Express.js?
  3. Express.js Architecture
  4. Advantages of Express.js
  5. Tools/Technologies
  6. Pre-requisites
  7. Getting started
  8. Setting up the server
  9. Setting up the schema
  10. Setting up the routes
  11. Setting up the controller
  12. Completing the server
  13. Adding a middleware
  14. Testing via Postman
  15. Github source

1. What is REST?

REST — Representational State Transfer

REST, or Representational State Transfer, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other. REST-compliant systems, often called RESTful systems, are characterized by how they are stateless and separate the concerns of client and server. …

Increase your iPhone’s battery life

The importance of battery calibration?

Calibrating the battery fulfills the following things.

  1. Helps to improve the battery life
  2. Helps the operating system to calculate the battery life range
  3. Helps the operating system to calculate the battery percentage much accurately

How frequently battery calibration should perform?

  • Once a month
  • After installing every major iOS upgrade
  • When identifies a noticeable battery drainage

Technical explanation behind the battery calibration?

Periodically draining and recharging the battery keeps the flow of ions moving in the battery. The material properties of lithium-ion batteries require constant usage to maintain peak performance. For this reason, Apple recommends discharging and recharging the battery once a month.

The amount of charge available in the battery is calculated…

Test automation framework evaluation criteria

What is a Framework?

Web Application Frameworks

A framework is considered to be a combination of set protocols, rules, standards and guidelines that can be incorporated or followed as a whole so as to leverage the benefits of the scaffolding provided by the Framework.

What is a Test Automation Framework?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store