Postman API
Testing
(Manual and Automation Testing)
Training Curriculum
Course Content:
Module 1: Introduction
• Overview
• First steps in Postman
• The postman Landscape
• Introduction to web application architecture
• Introduction to APIs
• Introduction to Web-Services
• How does an API works
• What is API testing?
• What does API Testing involve
• Validation techniques used in API Testing
• API Testing Steps
• Understanding URI, End points, Resources, Http verbs
• GUI tools available for API Testing
• Command-line tools available for API Testing
• Best Practices for API Testing
• Advantages of API
• API vs Web-Services
• Introduction to API architecture, REST API, SOAP API
• Understanding how REST API architecture works
• Understanding how SOAP API architecture works
• Understanding the HTTP methods GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD,
and Few more
Module 2: Creating with API Requests
• How to create a request in Postman?
• How to import a request from your browser in Postman?
• How to inspect HTTP responses in Postman?
• Handling cookies in Postman
• Troubleshooting Postman issues
• Saving requests to a collection in Postman
• Creating First API request using Postman
• Functional Testing of Web Services
• Understanding History
• Setting up Test Project with REST APIs
• Validating responses with Postman client
• Validating the body of the first JSON response
• Examples of validating response headers and status codes
• Understanding query parameters on sending request
• Validating status code
• Validating Response time
• How to debug & troubleshoot
• How to create and manage Workspaces
• Importing request from your browser
• Cookies
• Saving Responses
• Creating collections in Postman tool
• Importing/Exporting collections using Postman tool
• Run Collections Remotely with URL
• Creating variables at difference scope levels and how to refer them
• How to set and get variables through scripting
• Creating Environments
• How to setup different URLs using environments
• How to create quick scripts
• Pre-request scripts
• Test scripts/Assertions
• Make the requests dynamic by taking advantage of variables
• Generating code snippets in Postman tool
Module 3: Writing Tests and Scripts
• Introduction
• Your first API test in Postman
• Testing an API
• Path parameters vs query parameters
• Refactoring tests
Module 4: Writing Tests and Scripts using Variables
• Variables in Postman
• Global variables
• Environments
• Session variables (new in Postman 6.2!)
• Bulk editing removed (new in Postman 6.2!)
• Pre-request scripts in Postman
• Understanding different variable scopes / types
• How to setup different URLs using environments in Postman?
• Debugging tests
Module 5: Advanced Assertions
• Section overview
• Postman assertion basics
• Assertions
• Chai Assertion Library
• Assertions on arrays
• Assertions on nested objects
Module 6: Advance Topics
• Overview
• Runner
• Postman monitors
• Automating with Newman tool
• Basic introduction to NPM tool & NodeJS
• Installing NodeJS
• Installing Newman tool
• Running a collection with Newman tool
• Specifying environments in Newman tool
• Creating an HTML report using Newman tool
• Using Authentication/Authorization in Postman tool
• Introducing delays for scheduled or continuous load API testing
Module 7: Advance Topics Part II
• Automating POST request with payload
• Grabbing the response body into the string for advance validations
• Data-Driven testing using CSV and JSON
• Scheduling the API testing periodically
• Load testing of API testing in Postman tool
• Running and analyzing Load Test results
`
1. Introduction - SoapUI WebServices Testing Tool
• What is Webservice
• Why Webservice
• Significance of Webservice
• WebServices Description Language
• Webservice Architecture
• Xml Messaging
• Overview on Soap Protocol
2. Exploring WSDL
• WSDL Introduction
• WSDL Elements
• WSDL Definition
• WSDL Types
• WSDL Message
• WSDL Port type
• WSDL Binding
• WSDL Ports
• WSDL Service
3. Soap Messaging
• Simple Access Object Protocol
• Soap Messages
• Soap Envelope
• Soap Header
• Soap Body
• Soap Fault
• Soap Encoding
• Soap Transport
• Soap Standards
4. Started with Soap UI
• Creating the Project
• Adding WSDL
• Project Operations
• Request Pane &Response Pane
• Invoking and getting results
• Creation of Test Suites
• Creation of Test Case
• Running testcases from project level
• TestSteps explanation
• Cloning the TestCase/suite
• Brief explanation of the local Webservice
• Reading SoapUI Logs, Error Logs, Memory Logs and Other Logs
5. Assertions
• Why Assertions
• Types of Assertions
• Soap UI pro Assertions
• AssertionXpath,XQuery Match Assertion
• Point and click xpathAssertion with Soap Ui pro
• Writing own xpath
• Assert dropdown
• Count,exist Xpath Asertions
• Message Content Assertion
• Contains Assertion
• SLA Assertion
• Not Contains Assertion
• Soap Faults Assertions
• Security Assertions
• HTTP Status Codes
• Compliance, status and standards
• Challenges/drawbacks of SoapUI open source in Assertions
• Properties
• Properties Usage with SoapUI Features
• Property Levels
• Defining properties
• Project Level Properties
• Test Suite level Properties
• Test Case Level Properties
• Accessing properties from different levels
• Writing own step for Accessing Properties
• Accessing Properties from External file
• Properties Transfer step
• Usage of Properties Transfer step
• Examples using above methods
• Moving the test steps across each other
• Properties Step
• End to end Example using properties from all levels
6. Groovy Scripting
• What is Groovy Scripting?
• Similar to JVM
• Printing logs
• Defining Variable
• Operators
• Loosely Coupled Data types
• if else Simulator
• For loop
• Exceptions
• SetProperty Method
• GetProperty Method
• Accessing properties from Context
• Accessing request and response from Context variable
• Xml Holder
• Accessing nodevalues with Xml Holder
• Exercises on above functionalities
• Parsing Xml With XmlHolder
• Groovy Utils Xml Holder|
• SetNodeValue property
• getXml Method
• Update the XML
• TestRunner
• Scope of testRunner
• Traverse to Project level using TestRunner
• Traverse to Test Suite level using TestRunner
• Accessing the project level properties from TestRunner
7. Restful Webservices
• Introduction to Rest
• Overview of Rest Architecure
• Rest Advantages
• Difference between SoapProtocol/Rest
• Http Methods Get,Post
• Crud Operations
• Rest Services Exposed by Google/Twitter
• Rest Resources
• Multiple Representations
• Rest methods/Requests
8. Testing Databases with SoapUI
• Testing data in isolation
• Setting up SoapUI to connect to the database
• JDBC Request TestStep
• JDBC Request properties
• JDBC test assertions
• Stored procedures with JDBC Request TestStep
• Accessing SoapUI properties from SQL query
SoapUI Archicture and Process Flow
Protocols Supported By SoapUI
REST ASSURED API
AUTOMATION Curriculum
Rest Assured Setup for API Automation Testing
[Link] on Test API's
2. Setting up Test Project with RestAssured API's
3. Build Rest API Automation Test to Add Place and validate Status codes
Validating the Rest API Responses
[Link] on Json Response Body and Headers through Automated code
[Link] the Json Response body using JsonPath class
[Link] the Multiple API's with common Json response values
[Link] End to End Automation using GET, POST and PUT Http Methods
[Link] of Junit/TestNG Assertions in validating the responses
Diving in Depth-Automating Rest API’s
[Link] Structure of Complex Nested Json and its array notations
[Link] used in this Section with Queries to solve
[Link] the Json Array Size and its elements using JsonPath
[Link] over every element of Json Array and accessing elements in it
[Link] Json Nodes on Condition logic using JsonPath
[Link] Time example to solve Business logic through Json response
Handling Dynamic JSON Payloads with Parameterization
[Link] Dynamic Json payloads are important to understand
[Link] to Library API
[Link] Assured Test for Library API Add Book http method
[Link] parameters to payload from Test
[Link] TestNg Data provider for parameterization
[Link] on Parameterization of API Tests with multiple data sets
[Link] to handle with static json payloads
Rest Assured Automation for OAuth 2.0 Authoization code
[Link] up Rest Assured Automation Test for the OAuth Project
[Link] Web UI Automation to generate Authorization code
[Link] URL String to retrieve code using java methods
[Link] to deal with Client Credentials Grant type for OAuth flow
Cucumber BDD API Framework Development from Scratch-1
• Creating Maven project with Cucumber Rest Assured Dependencies
• Building Cucumber Feature file for Rest Assured API Tests
• Building Test Runner and Step Definition files for Add Place API Feature Test
• Implementing Real code in Step Definition files with reusable components
• Running the Test in Cucumber Standards with necessary Configuration changes
• Building Utility Files and Implement Logging feature in Framework
• Implement Mechanism to drive Global property values from Properties file
• Data Driven Testing Mechanism for API Tests using Cucumber example feature
• Parameterize API Test with multiple Data sets using Cucumber Framework features
• What are Enum classes? How Framework can utilize the Enum concepts
• Removing Hardcoded resource details with Enum class Methods
• Build End to End Testcase with Add and Delete Place in Fraework Standards
• Build End to End Testcase in Framework Standards
• Creating Additional Scenarios in Framework to reuse existing Step Definitions
• Importance of Cucumber Hooks in setting up Preconditions for API Tests
• Optimizing the Framework Tests with all necessary validations -
• Running the Complete Framework using Maven commands
• Generate Excellent Cucumber HTML reporting with additional Plugins