We may earn an affiliate commission when you visit our partners.
Course image
Tejasvi Hegde

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.

Read more

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 Web Services 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.

To achieve this goal, using a Solid Robust Framework is very much necessary.

Serenity BDD is an open source test automation framework which comes integrated with many popular libraries like Selenium

We will be focusing on the important topics listed below:

  • Build reusable methods, utility methods & organize them in packages
  • Create Data Driven Tests
  • Execute tests in Parallel
  • Group/Run Tests using Tags
  • Learn to generate Test Data
  • Create Cucumber Scenarios,Steps,Tags & integrate with Serenity BDD
  • Commit code to Github
  • Create a CI environment by integrating project with Jenkins & Github

At the end of this course you will be able to build a robust API test automation framework using Serenity BDD & Rest-Assured combined with GIT & JENKINS

Enroll now

What's inside

Learning objectives

  • Build reusable methods ,write different types of tests
  • Create data driven tests
  • Execute tests faster by running them in parallel
  • Run selective tests junit using tags
  • Publish amazing reports with logging of request & response information
  • Write cucumber scenarios integrated with serenity bdd
  • Commit code to github
  • Implement ci by integrating project with jenkins & git

Syllabus

Course WalkThrough
Syllabus
****RATING THE COURSE EARLY ON****
Environment Setup
Read more
Java Installation on MacOS
Maven Installation on MacOS
Eclipse Installation on MacOS
Java Installation on Windows
Maven Installation on Windows
Eclipse Installation on Windows
Student Sample Application
Starting the Student Sample Application
IMPORTANT: For users using Java 17+
Launching Student app docker image
What is Serenity BDD?
Introduction to Serenity BDD
Creating a Framework Structure using SerenityBDD
Setup Serenity BDD Project & configure pom.xml file
Building the package structure
Getting your feet wet with Serenity BDD
Generate the first Serenity Build to execute tests
Understanding different Test outcomes in Serenity BDD
Organizing Requirements in Serenity
Creating folder structure hierarchy to generate requirements
CRUD Tests for Student App using Serenity features
Using @Title annotations to provide meaningful names
Prioritizing Test Order in JUNIT
Drawback of writing rest-assured logic in Junit tests
Building Reusable methods using @Step,@Steps annotation in Serenity
Understand the use of @Step,@Steps to generate excellent reports
Building more re-usable methods
Request,Response Specification
Create Reusable specifications to minimize code repitition
DataDriven Tests in Serenity BDD
Building data driven test model using Serenity BDD features
Creating Mock Data using Mockaroo service
Parallel Execution to execute tests FASTER!!
@Concurrent,@Thread annotations to speed up data driven tests
Configure ForkCount to execute Test Classes in parallel
Grouping Tests in Serenity BDD
@WithTag, @WithTags to group selective tests
Checking code to GIT/GITHUB
Installing Git on system
Basic Git Commands,Checkin Project to local repository
Pushing code to Remote Repository (GITHUB)
Integration between JENKINS,GIT & SERENITY Project
Installing Jenkins on System
Creating Jenkins job to build Serenity Project
Configuring Jenkins for displaying Serenity Reports
Cucumber with Serenity BDD
Adding Cucumber dependencies in Serenity Project
Creating Scenarios,Step Definitions
Scenario Outline for executing a scenario multiple times
Tagging Scenarios in Cucumber
Cucumber Project code

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores how to write reusable and well-organized tests using Serenity BDD
Examines data-driven approach to testing and helps learners build data-driven test models
Teaches learners to employ multi-threading to speed up tests because they run in parallel
Builds on foundational understanding of JUnit and Java and thus helps learners strengthen existing knowledge
Creates comprehensive test reports with logging and captures request and response information for quick troubleshooting
Provides hands-on practice with building a robust Python test automation framework combined with  Git and Jenkins, which mimics real world environments

Save this course

Save REST API Automation:REST Assured,Serenity BDD Framework to your list so you can find it easily later:
Save

Reviews summary

Well received rest api automation course

Learners largely praise this course on REST API automation. It uses the REST Assured, Serenity BDD Framework. Students appreciate the course's clear explanations, practical examples, and engaging exercises. Overall, learners say this course is a useful resource for anyone looking to learn or improve their REST API automation skills.

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in REST API Automation:REST Assured,Serenity BDD Framework with these activities:
Commit Code to GitHub
Establish a git workflow to track code changes, collaborate, and maintain a history of project development.
Browse courses on Git
Show steps
  • Install Git and set up a local repository
  • Create a remote repository on GitHub
  • Commit and push code changes to the remote repository
Review CRUD requests
Practice writing CRUD requests to solidify your understanding of how REST APIs work.
Browse courses on HTTP Requests
Show steps
  • Set up a local REST API server.
  • Write a series of CRUD requests to create, read, update, and delete records.
  • Test your requests using a REST client or browser.
Integrate Cucumber Scenarios with Serenity BDD
Enhance test specification and readability by integrating Cucumber scenarios and step definitions with Serenity BDD.
Browse courses on Cucumber
Show steps
  • Add Cucumber dependencies to the Serenity project
  • Create Cucumber scenarios and step definitions
  • Run Cucumber tests and generate detailed reports
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a REST API documentation
Create a REST API documentation to showcase your understanding of the underlying architecture and principles of RESTful APIs.
Browse courses on REST
Show steps
  • Gather information about the API's endpoints, request and response formats, and error handling.
  • Use a tool or framework to generate the documentation.
  • Publish the documentation online or share it with others.
Execute Tests in Parallel
Enhance performance and reduce testing time by executing tests in parallel, taking advantage of the multi-threading capabilities of Serenity BDD.
Browse courses on Parallel Execution
Show steps
  • Identify test cases that are independent and can be executed concurrently
  • Annotate test methods with @Concurrent and specify the number of threads
  • Configure the Serenity build to enable parallel execution
Develop a RESTful web service
Build a RESTful web service to apply your knowledge of REST architecture and principles in a practical setting.
Show steps
  • Design the API's architecture, including endpoints, request and response formats, and error handling.
  • Implement the API using a programming language and framework.
  • Test the API thoroughly using automated tests.
  • Deploy the API to a production environment.
Create a CI Environment by Integrating Project with Jenkins & Git
Implement a continuous integration (CI) pipeline to automate the build, testing, and deployment process, enabling faster and more efficient software delivery.
Browse courses on Jenkins
Show steps
  • Install and configure Jenkins
  • Create a Jenkins job to build and test the Serenity project
  • Configure Jenkins to display Serenity reports

Career center

Learners who complete REST API Automation:REST Assured,Serenity BDD Framework will develop knowledge and skills that may be useful to these careers:
Quality Assurance Manager
As a Quality Assurance Manager, you will be responsible for overseeing the quality assurance process for software products. This course will provide you with a comprehensive understanding of the principles and practices of software quality assurance, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to improve the efficiency and effectiveness of your quality assurance process.
Automation Engineer
In the role of an Automation Engineer, you will be responsible for designing, developing, and maintaining automated testing solutions. Serenity BDD is a popular framework for writing automated tests, and the skills you will learn in this course will be highly relevant to this role. You will be able to use Serenity BDD to create tests that are easy to write and maintain, and that can help you improve the quality and efficiency of your testing process.
Software Test Engineer
As a Software Test Engineer, you will be responsible for testing and evaluating software products to ensure they meet quality standards. This course will provide you with a strong foundation in the principles and techniques of software testing, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to improve the efficiency and effectiveness of your testing process.
Business Analyst
As a Business Analyst, you will be responsible for analyzing and evaluating business requirements, and for designing and executing tests to ensure that the software meets those requirements. This course will provide you with a strong foundation in the principles and techniques of business analysis, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to improve the efficiency and effectiveness of your business analysis process.
Test Analyst
In the role of a Test Analyst, you will be responsible for analyzing and evaluating software requirements, and for designing and executing tests to ensure that the software meets those requirements. This course will provide you with a strong foundation in the principles and techniques of software testing, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to improve the efficiency and effectiveness of your testing process.
Software Quality Assurance Engineer
As a Software Quality Assurance Engineer, you will be charged with testing and evaluating software products to ensure they meet quality standards. Serenity BDD is a powerful framework for automating API tests, which can be a critical part of the Software Quality Assurance process. By leveraging the techniques and principles learned in this course, you will be able to write robust and reliable API tests that will help you identify and fix bugs before they reach production.
Software Developer
As a Software Developer, you will be involved in the design, development, and maintenance of software applications. The principles and techniques taught in this course will be highly valuable to you in this role, as they will help you write code that is more robust, reliable, and maintainable. In particular, the use of Serenity BDD can help you to improve the quality of your code by identifying and fixing bugs before they reach production.
Software Architect
As a Software Architect, you will be responsible for designing and developing the architecture of software applications. The principles and techniques taught in this course will be highly valuable to you in this role, as they will help you to design software that is more robust, reliable, and maintainable. In particular, the use of Serenity BDD can help you to identify and mitigate risks early in the development process.
Performance Engineer
As a Performance Engineer, you will be responsible for evaluating the performance of software applications and identifying ways to improve it. This course will provide you with a strong foundation in the principles and techniques of performance engineering, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to automate the performance testing of your software applications.
Security Engineer
As a Security Engineer, you will be responsible for protecting software applications from security threats. This course will provide you with a strong foundation in the principles and techniques of software security, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to automate the security testing of your software applications.
Data Scientist
As a Data Scientist, you will be responsible for collecting, analyzing, and interpreting data to solve business problems. This course will provide you with a strong foundation in the principles and techniques of data science, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to automate the testing of your data science models and pipelines.
Machine Learning Engineer
As a Machine Learning Engineer, you will be responsible for designing, developing, and deploying machine learning models. This course will provide you with a strong foundation in the principles and techniques of machine learning, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to automate the testing of your machine learning models and pipelines.
Consultant
In the role of a Consultant, you will be providing advice and guidance to clients on a variety of software-related topics. This course will provide you with a strong foundation in the principles and practices of software development, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to demonstrate your expertise in software testing and quality assurance to your clients.
Technical Writer
As a Technical Writer, you will be responsible for creating documentation for software products. The principles and techniques taught in this course will be highly valuable to you in this role, as they will help you to write documentation that is clear, concise, and accurate. In particular, the use of Serenity BDD can help you to generate documentation that is automatically updated as the software changes.
Project Manager
In the role of a Project Manager, you will be responsible for planning, executing, and controlling software development projects. This course will provide you with a strong foundation in the principles and practices of project management, and will help you to develop the skills you need to be successful in this role. In particular, the use of Serenity BDD can help you to improve the efficiency and effectiveness of your project management process.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in REST API Automation:REST Assured,Serenity BDD Framework.
Provides a comprehensive guide to behavior-driven development (BDD) using Cucumber. It covers topics such as writing BDD scenarios, using step definitions, and integrating with other tools.
Provides a comprehensive guide to behavior-driven development (BDD) for the entire software lifecycle. It covers topics such as writing BDD scenarios, using step definitions, and integrating with other tools.
More advanced treatment of RESTful web services. It covers topics such as performance tuning, security, and scalability.
This handbook provides a practical guide to designing, developing, and testing REST APIs. It includes a number of case studies and examples.
Provides a practical guide to using REST in real-world applications. It covers topics such as performance tuning, security, and scalability.
This quick start guide provides a concise overview of REST Assured, a popular Java library for testing REST APIs.
Provides a comprehensive guide to writing JUnit tests. It covers everything from the basics to advanced techniques.
Provides a comprehensive guide to Git, a popular version control system.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to REST API Automation:REST Assured,Serenity BDD Framework.
Learn Cucumber BDD with Java -MasterClass Selenium...
Most relevant
Selenium WebDriver with Java & Cucumber BDD
Most relevant
Step by Step API Automation using RESTASSURED & JAVA
Most relevant
WebServices/Rest API Testing with SoapUI +Real time...
Most relevant
Learn Protractor(Angular Testing) from scratch +Framework
Most relevant
Cypress -Modern Automation Testing from Scratch +...
Most relevant
Selenium WebDriver JAVA |Best for Beginners |Real...
Most relevant
Selenium WebDriver 4, Cucumber BDD, Java & More!
Most relevant
Python Automation Testing With Pytest
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser