API Testing Course Content
Section 1: Introduction to API Automation
- Understanding APIs with Examples
- The Role and Importance of APIs
- Reasons for the Growing Demand for APIs (Efficiency, Isolation, Reliability)
- Differentiating API, Web Service, and Microservice
- Evolution of Architectural Designs: SOAP (1998) vs REST (2000) vs GraphQL
- Exploring API Calls through Developer Tools and Postman
Section 2: Tools for API Testing
- Swagger for Design and Documentation
- Postman for Design, Development, Manual Testing, Automation, and CI/CD (JavaScript)
- SOAP UI for SOAP and REST Testing (Groovy)
- Karate for Behavior-Driven Development (BDD)
- TOSCA for Codeless Automation
- REST Assured Framework for Java-based Testing
Section 3: Understanding REST Terminologies
- Roles: Consumer vs. Provider
- HTTP Methods (CRUD Operations: POST, GET, PUT, PATCH, DELETE)
- Authentication Types: No Auth, Basic, OAuth2, Token
- Working with HTTP Headers: Content Type, Accept, Cookies, Host
Section 4: Response Codes
- Categories: Informational, Success, Redirect, Client-Side Error, Server-Side Error
Section 5: API Architectures
- Overview of SOAP, REST, and GraphQL Architectures
Section 6: Fundamentals of JavaScript
- Introduction to JavaScript
- Variables, Data Types, Conditional Statements, and Loops
- Arrays and Their Methods
- Functional Programming: Filter, Reduce, Map
- String Manipulation Methods
Section 7: Postman Essentials
- Introduction to Postman
- Installation and Setup
- Workspace and Collections Creation
- Creating Requests: GET, POST, PUT, PATCH, DELETE
- Authentication and Variables Handling
- Test Script Assertions and Data-Driven Testing
- Working with OAuth2 and Mock Servers
- Introduction to Newman and CI Integration
- Understanding JSON Basics
Section 8: TestNG for Testing
- TestNG Annotations
- Parameterization and Data Providers
Section 9: Cucumber for BDD
- Key Cucumber Keywords
- Creating Feature Files, Step Definitions, and Runner Files
- Parameterization in Cucumber
Section 10: Rest Assured Framework
- Introduction to Rest Assured
- Setting Up Rest Assured
- Implementing Various Request Types: GET, POST, PUT, PATCH, DELETE
- Response Validation and Extraction
- Utilizing Hamcrest for Assertions
- Logging Techniques and Request/Response Headers
- Request and Response Specifications
- Serialization and Deserialization
- Authentication and Authorization: OAuth, OAuth2
- JSON Schema Validation
- Filtering Requests and Responses
Section 11: Frameworks and Reporting
- Integration of Rest Assured, TestNG, Allure Reports, Hamcrest, and Jackson
Section 12: Continuous Integration with Jenkins and Newman Integration Testing