naveens33 / api_test_automation

Rest API Testing using Python and pytest framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Rest API Testing using Python and pytest framework