API & Micro-services Testing and Test Automation

Lately, APIs and Micro-services became the backbone of programming. API testing is one of the most challenging parts of the whole chain of software testing. API testing involves by-passing a user interface and communicating directly with an application by making calls to its APIs.

In this course, you would understand API, micro-services, API testing as well as automation tools like postman, JMeter etc.

Industry now demands that QA/testers have good understanding of micro services as customers are moving to cloud. The role in demand now is SDET (Software Development Engineer in Test) who should be aware of micro-services and can automate them in quick time.

There are no pre-requisite for this course. We start from very basics of programming and make you learn core Java. We will also cover all aspects of API from basics to advance.

We will cover Git/GitHub along with Jenkins and introduction to Docker. All our trainers are having minimum 10 years of experience in test automation. Click here to register for a demo session and our team will be happy to help.

Every session we conduct is a combination of theory and hands-on

All sessions are recorded which participants can keep with them for life time

Who can attend

Engineering graduates | Working professionals – manual Testers | Developers

course outline

Core Java

Introduction to API

TestNG

Maven

Test Automation Frameworks - Cucumber

Git/GitHub

Jenkins

Rest Assured

JMeter

Postman and Newman

Introduction to SOAPUI

Introduction to Swagger

Understanding micro-services and automating micro-services

Testing and deploying micro-services using Docker

SpringBoot Rest application automation with Spring

Demo Video:

Trainer:

Shree

Course description

Java
  • Introduction to Java

  • How to install Java

  • Basics of using Eclipse IDE

  • Primitive Data types

  • Operators

  • String Methods

  • Arrays

  • Control Flows

  • Objects and classes

  • Static Classes and Methods

  • Abstract Classes and Methods

  • Inheritance

  • interfaces

  • Exception Handling

  • Collections

  • File Handling

  • Logging

  • Properties files

  • Serialization and De-serialization using java POJO

  • All the above concepts with hand-on examples in the class

API

API Basics 

  • Fundamentals of API and web-services
  • Need for API Automation
  • REST vs. SOAP architecture
  • Monolithic vs. Micro-services architecture
  • Basics of automation framework

Introduction to REST API

  • History of REST
  • Understanding REST architecture
  • Learning HTTP Methods and HTTP responses(JSON,xml)
  • How to start automating API – API documentation

Authentication and Authorization

  • Understand how APIs are secured
  • API rate limiting
  • Learning oAuth 2.0 protocol
  • Understand difference between jwt tokens, SAML tokens,SSO

Rest Assured
  • Automating use cases using REST Assured library.

  • Validate Rest API responses.

  • Handling dynamic JSON payloads with parameterization

  • Passing the response values into subsequent requests

  • Sending parameters to payload from Test.

  • Asserting XML responses.

  • Serializing and De-serializing payloads using Java POJO

  • Installing JIRA to automate JIRA APIs

  • Automate JIRA APIs and create defect in the given project using rest-assured.

  • Write cucumber(BDD) framework to automate JIRA APIs.

Tools - Postman
  • Creating collections

  • Creating environments

  • Executing collections

  • Writing verification tests

  • Collection Mocking using Mock servers

  • Understanding and learning about different workspaces

  • Collaborating with team members using team feature

  • Exporting and importing collections

  • Schedule collection runs

  • Monitor collection and email the results

  • Proxy feature

  • Configure history and interceptor

  • Learning how to call secured APIs (basic auth, oAuth10, oAuth 2.0)

  • Understanding Newman Runner.

  • Execute collection on externalized data

  • Measure API performance

  • Reporting capabilities

Tools - Newman
  • Running collection using Newman CLI

  • Automating results into html/file

  • Integrate Newman with CI/CD tool like Jenkin
Tools – JMeter
  • Writing basic JMeter script to execute REST APIs

  • Using samplers to write JMeter script

  • HTTP samplers

  • Logic controllers – Loop, for each , if, loop

  • Pre-processors and post processors – Beanshell, JSON extractor

  • Timers

  • Listeners

  • Using variables in the script

  • Extracting values from JSON for validation and pass that to next requests.

  • Http Script Recorder

Automating Real world APIs
  • Twitter APIs
  • Facebook APIs
Extras
  • Introduction to SOAPUI
  • Swagger 2.0 for API documentation
Micro-services
  • Understanding micro-services and automating micro-services

  • Testing and deploying micro-services using Docker.

  • SpringBoot Rest application automation with Spring
Jenkins
  • What is CI and CD

  • Manage Configuration

  • Setup Build Jobs

  • Plugins

  • Scheduling Builds (Push/Pull)

  • Configuring a Jenkins Pipeline for test execution

BDD/Cucumber
  • What is BDD/TDD

  • BDD with Agile

  • Feature File – Gherkin

  • Step Definitions

  • Writing Tests

  • Executing tests using Cucumber

Test Automation Project
  • Automate real world API like YouTube or Google

  • Make decisions on frameworks based on requirements

  • Design Test Data Management Strategy

  • Design logging and listening strategy

  • Design exception handling and reporting

  • Design page objects for store and admin panel

  • Write tests and execute them using TestNG

  • Make scripts accept run-time parameters instead of hardcoding

  • Create utility package to re-use (modular framework)

  • Build Tests using Maven

  • Integrate with Jenkins and GitHub

Post Training Association
  • Typical Interview questions

  • Resume Preparation

  • Mock Interview – only on request

  • Providing interview calls with companies

  • Regular communication on WhatsApp group regarding selenium webinars, conferences and job openings

  • Re-attending the same training in future without any additional cost

Git/GitHub
  • Introduction to SCM
  • Creating repo(repositories)
  • Branches and Best practices
  • Importance of .gitignore
  • GitHub account creation
  • Integration with Jenkins using GitHub Webhooks
  • Types of SCMs
  • Adding files to repo
  • Merging, Cloning, tagging
  • Working on Git Command Line
  • Uploading your project with GitHub using command line and Eclipse
Jenkins
  • What is CI and CD
  • Setup Build Jobs
  • Scheduling Builds (Push/Pull)
  • Manage Configuration
  • Plugins
  • Configuring a Jenkins Pipeline for test execution
BDD/Cucumber
  • What is BDD/TDD
  • BDD with Agile
  • Writing Tests
  • BDD with Agile
  • Step Definitions
  • Executing tests using Cucumber
Creating Test Automation Framework
  • What is Test Automation Framework
  • How to create a robust automation Framework
  • Re-usability and maintainability is the key focus area
  • Effective Usage of Design Patterns
  • Exception Handling
  • Effective exception handling
  • Reporting Frameworks
  • Use of version control
  • Utility functions/page objects
  • Why we should care
  • Configurability
  • Test Data Management
  • Debugging using Logs and Listeners
  • Principles of writing clean code
  • Integration with CI tools like Jenkins
  • Support for parallel execution – on-premise/cloud
Test Automation Project
  • Automate an e-commerce application
  • Design Test Data Management Strategy
  • Design exception handling and reporting
  • Write tests and execute them using TestNG
  • Create utility package to re-use (modular framework)
  • Allure Reporting Framework
  • Integrate with Jenkins and GitHub
  • Make decisions on frameworks based on requirements
  • Design logging and listening strategy
  • Design page objects for store and admin panel
  • Make scripts accept run-time parameters instead of hardcoding
  • Build Tests using Maven
Post Training Association
  • Typical Interview questions
  • Mock Interview – only on request
  • Regular communication on WhatsApp group regarding selenium webinars, conferences and job openings
  • Resume Preparation
  • Providing interview calls with companies
  • Re-attending the same training in future without any additional cost