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 (pre-requisite)
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 (pre-requisite)
Please make sure you know the following topics before joining the course.
- 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
- 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
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
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.
Automating Real world APIs
- Twitter APIs
- Facebook APIs
Extras
- Swagger 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