API & Web services Testing Course Content
Basics of API & Web services Testing
- What is Client and Server?
- Client Server architecture
- Presentation, Business & Database Layer
- What is Request & Response
- What is API
- What is API Testing
- API Testing VS Unit Testing
- What is Web Service
- Difference between API & Web service
- Components of Web services ( WSDL & UDDI)
- Types of Web services
- SOAP VS Rest services
- URI, URL & URN
- API/Web service testing challenges
- Web Service API testing tools
- Web services API Testing process
- What to test in Webservices /API Testing
- HTTP Methods(GET/POST/PUT/DELETE)
- Status Codes
- Examples of Web service API's
API Testing using Postman
- Download and Install Postman
- Postman Navigation
- Creating Requests & Analyzing Response
- Request Parameters in Postman
- Postman Collections
- End to End test case (GET , DELETE, PUT , POST)
- Basic Authentication in Postman
- Test and Collection Runner in Postman
- Workflows in Postman
- Pre-Request Script in Postman
- Variables in POSTMAN
- Environment/Global variables
- Adding Postman Environment
- Postman workspace
- How to share collections in workspaces
- Postman snippets
- Data Driven testing by using Json and CSV files
- How to Run data-driven Tests
- JSON, XML & HTML Payloads
- Authorization Types in Postman
- Run Postman tests in command Line
- Generating Reports in Postman
- Real Time Examples
- How to handle SOAP Web service Requests in Postman
Java Core Concepts:
- Prerequisites
- JDK- Installation
- Check java installation
- Configuration JDK to run with selected version.
- Eclipse Editor -Installation
- Class
- Object
- OOPS
- Encapsulation
- Java Project Hierarchy
- Abstraction
- Access Specifiers/Modifiers
- Inheritance
- Inheritance between Multiple Entities
- Types of Inheritance
- Method
- Types Of methods
- Predefined Methods
- User Defined Methods
- Concrete Methods
- Abstract Methods
- Static Methods
- Non Static Methods
- Methods Types Based on return type and Arguments
- Types of Classes
- Concrete Class
- Abstract Class
- Interface
- Polymorphism
- Method overloading
- Method Overriding
- Constructor
- Constructor Overloading
- Packages
- Data types
- Operators
- Conditional Statements
- Loops
- Strings
- String Buffer
- String Builder
- Arrays
- Exception Handling
- Wrapper Classes
- Collections
Web Service API Automation Testing using REST Assured
- Introduction to HTTP methods
- REST Assured Setting up environment (TestNG , Eclipse, and Maven)
- Send GET request using REST-Assured
- Send POST request using REST-Assured
- Send PUT request using REST-Assured
- Send DELETE request using REST-Assured
- REST-Assured Extracting values from the response.
- Validating Response codes and status line
- JSON Schema Validation
- Validating Headers
- Rest Assured End-to-End Test Case
- How to run API tests by using Maven CLI
- Run Rest Assured tests in Jenkins
Maven Concepts:
- What is a Build Tool?
- Maven Setup
- Maven Overview - Core Concepts
- Maven prerequisites
- Maven usage from eclipse and command prompt
- Maven POM Files
- Maven Settings File
- Running Maven
- Maven Directory Structure
- Dependencies
- Maven Repositories
- Maven Build Life Cycles, Phases and Goals
- Maven Plugins
- Configurations Maven
- Usage of Junit with Maven
- Usage of TestNG With Maven
- Archetypes in Maven
- Artifacts
Junit Concepts:
- Junit Overview
- Junit Prerequisites
- Junit setup
- Junit Usage - Automation
- Creating Junit Test
- Junit Annotations
- Junit Test Case Execution
- Junit Results
- Junit Test Suite
- Junit Test Suite Execution
- Grouping of Junit Cases
- Ignoring a Junit Case
- Timeout Option in Junit
- Handling Exception in Junit
- Assertions in Junit
- Parameterize in Junit
- Using Junit in Maven Project
TestNG Concepts:
- TestNg Overview
- TestNg Prerequisites
- TestNg Setup
- TestNg Basic Usage
- TestNg Creating a basic Test
- TestNg Annotations
- TestNg Test Execution
- TestNg Prioritization
- TestNg Results
- TestNg Suite
- TestNg TestNg.xml file
- TestNg Suite Execution
- TestNg Executing Tests in Parallel
- TestNg Thread count
- TestNg Ignoring Test
- TestNg Timeout option
- TestNg Exception Option
- TestNg Group Tests
- TestNg Dependency Tests
- TestNg Parameterize Tests
- TestNg Assertions
- TestNg Running Junit Tests
- TestNg usage in Maven Project
Prototypes:
- Developing Framework or prototype using Data driven Approach
- Developing Framework using ATDD using Cucumber (API).