
Learn rest assured API automation from setup with eclipse and maven to testing a student app with get, post, put, patch, delete, and head requests using Postman workflows.
Understand the meaning of REST protocol
Install the student app from the zip, unzip to get the jar, and start it with java -jar. Confirm it runs on port 8080 and lists students.
Install docker on Windows by downloading Docker Desktop from Docker Hub, logging in, and enabling Hyper-V; verify with docker ps and docker run hello-world.
Learn to install docker on Mac by signing up for docker hub, downloading docker for mac dmg, installing the desktop app, and verifying with docker --version and docker run hello-world.
Start the student app using a Docker image from Docker Hub, pull and run the container, map ports for browser access, and switch from 8080 to 8087.
Learn to inspect network traffic with chrome dev tools, capture requests in network tab, and read headers and JSON responses to understand request methods and content types for API testing.
Install and launch Postman, a popular rest client, by downloading the Mac or Windows version, unzipping the file, and dragging it into applications before opening it.
Build and organize API requests in Postman using various rest methods, tabs, headers, and authorization, then manage them in collections and environments with variables, including exporting and importing collections.
Learn to send get requests in Postman to retrieve all students and individual student data, then filter by program or limit and inspect JSON responses.
Learn how to add a new student using a post request in Postman, sending a JSON body with first name, last name, email, program, and courses, and verify the creation.
Update a specific student's data using a put request in REST Assured API automation, changing the first name and courses, then verify with a follow-up get.
Learn how to use a patch request to update a single field, such as a student's email (id 101), by sending a JSON body in Postman and verifying the change.
Learn how to delete a student using a delete request in Postman, verify with a 204 status code (no content), and confirm the student with ID 101 is removed.
Discover how the options method reveals allowed HTTP verbs for a resource by inspecting headers, using a sample student resource to show post, get, put, patch, delete, and head.
Compare the head method with get, returning status and headers without a body, and use it to ping and verify resource health via content type and length.
Learn how to install Java on macOS by downloading the jdk 1.8 dmg, installing, verifying with java -version, and configuring java_home in the bash profile.
Learn to install Maven on macOS by downloading the binary, unzipping, and configuring M2_HOME and PATH in your bash profile, then verify with mvn -version.
Install Eclipse on Mac by downloading the Eclipse IDE for Java developers with a Maven integration, unzip tar.gz, move the app to Applications, and launch to set a neon workspace.
Learn to download and install JDK 1.8 on Windows, choose the correct 64-bit or 32-bit installer, and configure JAVA_HOME and PATH to verify with java -version.
Learn to install and configure Apache Maven on Windows, including downloading the binaries, extracting the zip, setting M2_HOME, updating the PATH, and verifying the installation.
Install Eclipse on Windows by downloading Eclipse Neon, choosing the Eclipse IDE for Java developers with the Maven plugin, selecting 64-bit or 32-bit, extracting the zip, and launching the app.
Create a maven project in eclipse and configure pom.xml with rest-assured and junit dependencies. Use a version property to centralize junit versions and upgrade java from 1.5.
Explore Rest Assured fundamentals by building and sending requests with query parameters, headers, content type, and body, then validating responses with given when then and given expect when styles.
Learn to write your first Rest Assured test to fetch all students, print the response, and verify a 200 status code using given-when-then and request specification patterns.
Import Rest Assured methods statically to write given, when, then tests without the Rest Assured prefix, and see the refactor succeed as tests pass.
Learn how to pass query parameters in rest assured get requests to filter results, using query param, params, and a map, including examples for program and limit.
Learn to pass path parameters in a Rest Assured get request by using the pathParam method, mapping an id to the URL, and avoiding hard-coded values.
Create a test base to set RestAssured baseURI, port, and basePath before all tests. Extend tests from this base to avoid hardcoding and use RestAssured.reset for static properties.
Use rest assured to post a new student by sending a json payload as a string, including name, email, program, and courses, and verify a 201 created response.
Create a student pojo with first name, last name, email, program, and courses; build the payload as an object for Rest Assured and verify a 201 created response.
Create fake test data on the fly with the Java Faker library, add its dependency to pom file, instantiate Faker, and generate first names and emails to make tests rerunnable.
Update a student record using a PUT request in Rest Assured by sending a payload with the student id, then verify the 200 status and the updated fields.
Update partial information using a patch request in REST Assured, updating only the email field for a student resource (id 101) rather than the entire resource.
Learn how to delete a student using a delete request in Rest Assured, verify with a 204 status code, and confirm the student is no longer present in the app.
Explore the best buy api playground, locally with 50,000 products and crud; clone from GitHub, install node and npm, start on port 3030, and explore endpoints with swagger and postman.
Learn how to extract values from json and xml responses, using JsonPath and rest assured xml path, groovy json slurper, and xml slurper with XPath to power requests and assertions.
Add the JsonPath dependency and use Java JsonPath to extract values from the Best Buy API response, reading the response as a string and printing results.
Learn how to extract response data with the Jayway JsonPath library, traversing lists of maps, using indices, star wildcards, deep scans, and filters to retrieve IDs and product names.
Introduce Allure reports as a flexible, multi-language test report tool that supports JUnit, Cucumber, and Jasmine, with annotations, rich details, and simple setup via brew or scoop.
Create a Maven Java project, configure JUnit four and Allure reports, and generate and serve the results from the target as a local server.
Learn how to provide meaningful display names to tests and add descriptions in Allure reports, using a simple calculator example with JUnit tests and Hamcrest assertions.
Attach links to test reports using Link annotations to add information, issue references, and test case management links, and configure base paths via properties for clean, dynamic links.
Group tests by epics, features, and stories using annotations in Allure reports, then explore the features by stories under the behaviors tab to understand test organization.
Learn to add step information to test methods using the @Step annotation, wrapping calculations in a calculator steps class to show input parameters and results in reports.
Learn to add attachments to Allure reports using the add attachment annotation, including text logs and image attachments such as png files.
In the 21st century, almost all web applications use web services to communicate or interact with each other. Most modern day web services are built on Representational state transfer (REST) architecture; REST has gained a lot of popularity and it will continue to do the same due to its simplicity in comparison with other technologies.
It is very important for software QA engineers, automation engineers and software developers to understand the importance of REST testing and more importantly how to automate these tests. Automating Application Program Interface (API) tests is critical and crucial for most projects due to the fact that API tests are far more stable, reliable and fast.
In this course, you will be provided with the tools and techniques needed to be successful with REST API Automation using Rest Assured Library in Java & JUnit. We will be focusing on the important topics listed below:
Learn how to create collections & environment variables in POSTMAN
Understand and use POSTMAN to send requests (using GET, POST, PUT, PATCH, DELETE, OPTIONS and HEAD operations)
Introduction to REST Assured, which is a popular open source library used for API test automation
Learn how to setup a REST Assured Maven project
Learn to write tests for GET, POST, PUT, PATCH and DELETE requests using REST Assured
Learn to use setup & configure Allure Reports
Provide beautiful DisplayNames,Descriptions, link information in your reports
Add detailed test step information & attachment information in the reports
****You will be provided with a Students Application, that you can run locally on your machine****
****The course will introduce you to Bestbuy API playground(which contains ~50,000 products) application which can be run locally
All the code is available for download & instructor support will be provided to questions.