
Explore why Serenity BDD offers an open-source UI automation framework with Selenium, API testing, and mobile testing, including built-in features, strong community, documentation, and easy integration with Git and Jenkins.
Learn how to install and configure Java on a Mac, download the JDK DMG, run the installer, verify the installation with java -version, and set JAVA_HOME in your shell profile.
Set up maven on macOS by downloading the binary zip, unzip it, configure the environment variable in your profile, update your path, and verify the installation with mvn -version.
Install Eclipse on macOS by downloading the latest neon Eclipse package, unzip, move to applications, launch, and set a workspace before exploring tutorials and samples.
Download and install the Java JDK on Windows, choose the correct 64-bit or 32-bit version, accept the license, then configure JAVA_HOME and update PATH to verify with java -version.
Install and configure Apache Maven on Windows by downloading the binaries, extracting the zip, setting M2_HOME and PATH, and verifying the installation with mvn.
Install eclipse on Windows by selecting the Eclipse IDE for Java developers, choose 64-bit version, unzip the ZIP file, and launch Eclipse Neon.
Discover open source apps used to practice ui automation with serenity bdd, including the internet application by Dave Haefner and the pet store sample, plus local setup guidance.
Learn to set up Ruby on Windows, clone the Internet app from GitHub, install dependencies with bundler, and run the app locally via rackup on localhost:9292.
install and set up the internet application on macos, pull the docker container, and run the app locally to access it on localhost ports 70 and 80.
Install Docker Desktop on Windows, pull and run the internet application container from Docker Hub, map the port to access the app locally, and verify the container is running.
Navigate the JPetstore UI by starting the application, registering and logging in, selecting favorites, searching for products, adding items to cart, and completing checkout, with order history and help pages.
Learn to download and configure Windows browser drivers for Selenium, including ChromeDriver, GeckoDriver, PhantomJS, IE, and Edge, store them, add to PATH, and verify access from the command prompt.
Learn to download and unzip browser drivers (Firefox, Chrome, Phantom) on macOS, organize them in a folder, add them to the system PATH, and verify access via ChromeDriver.
Configure a simple Serenity BDD project, manage web driver with test resources and properties, run a basic JUnit test that navigates to Google, and generate Eclipse reports.
Learn html element identification techniques in serenity bdd, using by locator strategies from selenium, including class name, id, css selectors, name, link text, and partial text to locate elements.
Learn HTML element identification techniques in Serenity BDD, using find by with XPath or CSS selectors to locate elements and print link texts on the homepage.
Learn to interact with edit boxes on a login page with username and password fields by entering and clearing text, using typing methods within a Serenity Selenium page object framework.
Explore how to interact with dropdowns in a UI automation context, selecting options by value, visible text, or index, and retrieving the selected value using Serenity and Selenium.
Explore how to interact with checkboxes in a form using checkbox objects, selecting, unselecting, and querying status, with examples of two checkboxes on a page.
Learn to interact with radio buttons in Selenium tests by identifying groups by name, selecting by value, and retrieving the selected value, with crust and delivery method examples.
Learn to interact with HTML tables using Serenity SDMI table class, reading complete tables as lists of maps with headings and rows, and filtering by conditions such as yahoo.com emails.
Explore interacting with html tables in serenity bdd by extracting headings and rows, filtering by conditions, and printing raw information using get headings, get elements, and a stream.
Learn how to synchronize browser tests with implicit and explicit waits in Selenium, using WebDriverWait and ExpectedConditions to handle dynamic elements and varying network conditions.
Explore implicit waits in Serenity BDD, learn how to observe default two-second timeouts, configure global timeouts via Serenity properties, override them in code, and reset after tests.
Learn to use explicit waits in Serenity BDD to handle dynamic loading, including wait for element, wait for title, wait for text, and wait for absence with configurable timeouts.
Explore uploading files in Serenity BDD by using the cinches method to set the file path, handling the browser dialog, and optionally using the Sandquist method for simple uploads.
Learn to interact with JavaScript alerts in Selenium, handling regular alerts, confirmations, and prompts by clicking, accepting, dismissing, and extracting alert text.
In the last decade, there has been a tremendous increase in the number of businesses that are now making it easier for consumers to do business online by having a website which supports multiple browsers & operating systems or mobile applications on multiple platforms like Android, IOS.
Software development teams are ensuring that the website gets tested continuously with the help of automated testing; so they end up investing heavily in developing custom automation frameworks. With custom frameworks, maintenance is costlier & sometimes can slow down the automation process. Also, it can become challenging to find developers who can develop a solid robust framework with excellent documentation, support etc.
Wouldn't it be great if we had a test framework that was robust, maintained, updated constantly to work with the latest binaries, had a plenty of support from user community, and supported different libraries?
Well the good news is there is such an opensource framework that is dedicated to meeting the above mentioned wishes. It is the Serenity BDD Framework (formerly know as Thucydides).
Serenity BDD is an open source test automation framework which comes integrated with many popular libraries like Selenium, Appium, Junit4, JBehave, Cucumber, Rest-Assured etc. It provides many out-of-the-box features which will support UI automation as well as API automation.
In this course, you will familiarize yourself with many of the important features Serenity provides & how they can be used to interact with Web Elements (the-internet-application) & also you will learn how to automate an application (J-Petstore) using Page Object Model design pattern & Cucumber library.
Below are some of the important topics that are covered in the course.
Emphasis on the concept of DRY (don't repeat yourself) by creating reusable methods, utility methods etc. & organizing them.
Learn how to interact with different web elements like radio button, links, edit box, drag drop etc. using inbuilt Serenity methods
Learn synchronization (using Implicit & Explicit waits) in Serenity BDD
How to handle mouse/keyboard interactions
Automate a Pet store application using Page Object Model pattern
Create Data Driven Tests
Execute tests in Parallel
Group/Run tests using Tags
Learn to generate Test Data (using Faker API)
Executing tests remotely on Selenium Grid, Docker & Zalenium using Serenity BDD (RECORDING IN PROGRESS)
Create Cucumber Scenarios, Steps, Tags etc. & integrate with Serenity BDD
Commit code to GitHub
Create a CI environment by integrating project with Jenkins & GitHub
All course materials will be provided for download, along with notes wherever applicable. Your questions or doubts on course material will be answered & any additional guidance needed will be provided.
At the end of this course, you will be able to confidently automate Web Applications using the features provided by Serenity BDD framework.