Automated API testing framework for demoqa.com, targeting the Account and BookStore REST APIs.
- Java 17
- REST Assured - API request execution and response validation
- TestNG - Test execution and assertions
- Jackson - JSON deserialization into POJOs
- Selenium WebDriver - UI automation for FE test scenarios
- Lombok - Boilerplate code reduction
- Maven - Build and dependency management
src/test/
├── java/
│ ├── client/ # ApiClient - base URI, content type, HTTP methods
│ ├── pages/ # BasePage, LoginPage, ProfilePage (Selenium POM)
│ ├── requestObject/ # POJOs for request bodies
│ │ ├── GeneralObject.java # Base class for JSON file loading
│ │ ├── RequestUser.java
│ │ ├── RequestISBN.java
│ │ ├── RequestAddBook.java
│ │ └── RequestReplaceBook.java
│ ├── responseObject/ # POJOs for response bodies
│ │ ├── BookObject.java
│ │ ├── ResponseUser.java
│ │ ├── ResponseGetUser.java
│ │ ├── ResponseGetUserFailed.java
│ │ └── ResponseToken.java
│ ├── services/ # API service layer
│ │ ├── AccountService.java
│ │ └── BookStoreService.java
│ └── tests/ # Test classes
│ ├── CreateUserBETest.java
│ ├── CreateUserFETest.java
│ └── BookStoreTest.java
└── resources/
└── createUser.json
- Create a new user
- Generate authentication token
- Validate user details
- Delete user
- Verify login fails after deletion
- Create user via API
- Login via browser
- Validate profile page
- Delete account via UI
- Get all books
- Get book by ISBN
- Add book to user collection
- Replace a book in user collection
- Delete a specific book from user collection
- Delete all books from user collection
- Clone the repository
git clone https://github.com/Riverutz/demoqa-api-automation.git - Open in IntelliJ IDEA
- Run all tests via
testng.xml
- Service Layer Pattern - API calls encapsulated in service classes
- Client Pattern - centralized HTTP client configuration
- POJO Mapping - strongly typed request and response objects via Jackson
- Page Object Model - Selenium pages separated from test logic
- Data Driven Testing - dynamic test data via JSON files