top of page

Automation Framework Design Fundamentals

Have you ever seen anyone build the building without the blue print? Similarly, every automation project needs a blue print- a plan which is created before development start. When we create any automation project we require many files and to organize them we create folders. For example, there will be folder for input data, logs, reports, configurations, gherkins, step definitions etc. This project design structure is nothing but Automation Framework.

Characteristics of Automation Framework:

  • It should be reusable

  • It should be easy to maintain

  • Easy to read

Phases of designing framework:

  1. Understand the requirements: We need gather functional requirements to create test cases. To understand API behavior we need Swagger documentation from developers. We need to run test cases manually before we start automating them.

  2. Choose automation tool: Selenium, RestAssured are libraries that provides jar files which can be used for automation.

  3. Design framework: Here we decide how which folders we need, how many files to create etc.

  4. Development: Start coding for the files you have created.

  5. Implementation: Execute automation in continuous integration.

In this article we'll create framework for API testing automation with RestAssured. You can read about how set up RestAssured framework here.

Components of API framework:

This entire process can further split into three parts:

Development -Execution - CI


  • Endpoints: We need to store end points in one place. So we'll create one package and inside we'll create classes for each module. Each class will have implementation for CRUD methods.

  • Properties: All the URLs are maintained in this package.

  • Test Cases: We'll write test cases in TestNG format.

  • POM.xml : We'll add all the dependencies that we need. e.g. we'll add dependencies for TestNG, RestAssured, logger, reports etc.

  • Payloads (POJO) : Payload package is created to create request body. There are several ways we can create request body. Here, to create request body we use POJO(Plain Old Java Object) classes for each module.

  • Utilities: We require utility package in which we will have Data Providers for data driven testing, Extent Reports or XL utility.

  • Test data: We will keep test data for each module separately in classes under this package.

  • Reports: We create one package where we create various types of reports like extent reports, testing reports, html reports etc.

Our framework will look like this in Eclipse:

36 views0 comments

Recent Posts

See All

Beginner Friendly Java String Interview Questions

Hello Everyone! Welcome to the second section of the Java Strings blog. Here are some interesting coding questions that has been solved with different methods and approaches. “Better late than never!”


Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page