REST Assured API Test Automation Architecture

Ready-to-use API Test Automation Architecture using Java and REST Assured.

Installation Steps

In order to use the framework:

  1. Fork the repository.
  2. Clone, i.e, download your copy of the repository to your local machine using
git clone https://github.com/[your_username]/rest-assured-api-test-automation-architecture.git
  1. Import the project in IntelliJ IDEA.
  2. Make your desired changes.
  3. Use IntelliJ IDEA to run your desired tests. Alternatively, you can use the terminal to run the tests, for example ./gradlew test.
  4. Build and browse the allure report using
./gradlew allureServe

Languages and Frameworks

The project uses the following:

Project Structure

The project is structured as follows:

📦 rest-assured-api-test-automation-architecture
├─ .github
│  â””─ workflows
│     â””─ test-execution.yml
├─ .gitignore
├─ LICENSE
├─ README.md
├─ build.gradle
├─ gradle
│  â””─ wrapper
│     â”œâ”€ gradle-wrapper.jar
│     â””─ gradle-wrapper.properties
├─ gradlew
├─ gradlew.bat
├─ settings.gradle
└─ src
   â”œâ”€ main
   â”‚  â”œâ”€ java
   â”‚  â”‚  â””─ io
   â”‚  â”‚     â””─ github
   â”‚  â”‚        â””─ tahanima
   â”‚  â”‚           â”œâ”€ client
   â”‚  â”‚           â”‚  â””─ UserClient.java
   â”‚  â”‚           â”œâ”€ config
   â”‚  â”‚           â”‚  â”œâ”€ Configuration.java
   â”‚  â”‚           â”‚  â””─ ConfigurationManager.java
   â”‚  â”‚           â”œâ”€ dto
   â”‚  â”‚           â”‚  â”œâ”€ BaseDto.java
   â”‚  â”‚           â”‚  â””─ UserDto.java
   â”‚  â”‚           â”œâ”€ model
   â”‚  â”‚           â”‚  â””─ User.java
   â”‚  â”‚           â”œâ”€ report
   â”‚  â”‚           â”‚  â””─ AllureManager.java
   â”‚  â”‚           â””─ util
   â”‚  â”‚              â”œâ”€ Endpoint.java
   â”‚  â”‚              â””─ RequestSpec.java
   â”‚  â””─ resources
   â”‚     â”œâ”€ allure.properties
   â”‚     â””─ config.properties
   â””─ test
      â”œâ”€ java
      â”‚  â””─ io
      â”‚     â””─ github
      â”‚        â””─ tahanima
      â”‚           â”œâ”€ annotation
      â”‚           â”‚  â””─ DataSource.java
      â”‚           â”œâ”€ e2e
      â”‚           â”‚  â”œâ”€ BaseE2ETest.java
      â”‚           â”‚  â””─ UserE2ETest.java
      â”‚           â””─ util
      â”‚              â”œâ”€ CsvToDtoMapper.java
      â”‚              â”œâ”€ DataArgumentsProvider.java
      â”‚              â””─ JsonFormatter.java
      â””─ resources
         â””─ testdata
            â””─ user.csv