
Explore the Serenity BDD framework for Selenium, Appium, and REST API testing, featuring open source tooling, interactive reports, and integration with page objects, Cucumber, JBehave, and popular build tools.
Master the prerequisites for the Serenity BDD framework: install JDK 8, set up Eclipse, configure Maven, and include Serenity and JUnit dependencies with Surefire and Failsafe plugins for end-to-end testing.
Install JDK 1.8 on Windows, then configure environment variables by setting JAVA_HOME and updating PATH for Maven and Jenkins.
Install the JDK on macOS, run the 64-bit installer, locate the JAVA_HOME directory, and create a bash profile to set the JAVA_HOME and PATH variables for global Java access.
Download and install the Eclipse IDE to start coding your Serenity project in Java, then set up a workspace and launch Eclipse to begin editing.
install and configure maven on windows by downloading the maven binaries, unzipping, setting maven_home (or m2_home) and path, and verifying the setup with mvn while ensuring java is configured.
Download the latest maven zip for mac os x, unzip it. Configure your bash profile to export maven and java paths, then verify the installation.
Create the first Serenity test by setting up a Maven project in Eclipse, adding Serenity and Selenium dependencies, and organizing tests in a test package to implement a login test.
Write a basic serenity UI test using JUnit annotations, WebDriver, and a login method, then configure Chrome or Firefox drivers via serenity.properties to run end-to-end tests.
Configure the Serenity framework via its configuration file by defining the WebDriver and driver paths for Chrome and Firefox across Windows, Mac, and Linux.
Learn to run Serenity BDD tests with Maven by cleaning and verifying the project to generate Serenity reports. Open the reports in target/site/serenity and view the index.html for test results.
Explore the Serenity framework's PageObject class to leverage robust locating strategies and helper methods, control browser drivers, open pages, get title, and manage waits and reports.
Explore the web element facade interface in Serenity BDD, and learn to locate elements, type text with type and enter, and wait for presence or visibility before actions.
Master synchronization in web automation by using implicit and explicit waits with the Serenity framework, handling element presence, visibility, and interactable state to avoid timeouts.
Apply explicit wait and fluent wait strategies in Selenium, Appium, and REST Assured to handle dynamic elements with conditions like presence, visibility, and clickability.
Define global timeouts for selenium tests by configuring implicit and explicit waits, using programmatic and properties file settings to set 20 seconds implicit and 10 seconds explicit waits.
Learn to handle dropdowns in the Serenity framework using select by visible text, by value, or by index, and adapt to non-select dropdowns on real websites.
Learn how to extract and print all dropdown values in Serenity BDD, including counting options and printing text or language attributes using custom logic and option tags.
Learn to extract all links on a page, constrain to a section, and find elements within that section using find all and nested web elements in serenity bdd with selenium.
Learn to handle checkboxes with Serenity framework using a dedicated checkbox class, check states, and manage multiple boxes by locating a block and listing elements.
Explore XPath in depth, learning how to locate elements with id, name, and other locators, handle dynamic elements, and build robust relative and absolute XPath expressions.
Explore strategies for locating dynamic web elements with XPath in selenium tests, using parent-child-sibling relationships, indexing, contains, and text to build robust, unique locators.
Master advanced XPath techniques for locating elements, including absolute and relative XPath, text-based and contains-based selectors, using browser tools and extensions like Grobart for robust, unique identification.
Explore css selectors in depth to locate dynamic web elements, compare with xpath, and learn to form unique selectors using id, class, attributes, child relations, and starts-with, ends-with, contains patterns.
Learn to handle mouse over gestures with the Action API in Serenity for Selenium, moving to elements, performing actions, clicking revealed menus, and drag and drop operations.
Master handling sliders with actions by dragging along the x axis, computing center positions from element size, and adjusting the slider in Serenity BDD with Selenium, Appium and REST Assured.
Learn to resize and move elements by inspecting the target, setting x and y coordinates, and running a simple resize example within the Serenity BDD framework.
Master drag and drop testing with Serenity BDD, defining source and target elements, creating a test class, and completing a hands-on drop assignment to verify functionality.
Master right-clicking a web element using actions in Serenity BDD with Selenium, learning to locate the target via inspector, copy the locator, and implement context click in your test.
Handle JavaScript alerts in Serenity BDD with Selenium by retrieving alert text, and clicking okay to continue test execution.
Learn to handle iframes in Selenium by switching to frames using id or name, counting frames with find all by tag name iframe, and returning to the main content.
Switch from the window to a pop-up using window handles, get window handles, switch to the target window by index, perform actions, and close the popup after verifying the title.
Explore using the evaluateJavaScript API to inject and execute JavaScript in a web page, trigger clicks, highlight elements, and perform client-side actions with Selenium WebDriver.
Learn how Serenity's page object methods handle uploading an image through a non-browser window, using a file input and dynamic element strategies to reliably automate image uploads.
SERENITY BDD Framework for Selenium, Appium and REST Assured (REST APIs)
Learn and Master Serenity BDD Framework with various design patterns like Page Object and Cucumber JVM
Serenity BDD framework was initially named as Thucydides. The framework provides you lot of wrapper classes and functionalities from the popular Apis like Selenium or Appium and provide you with helper methods to write your automation task with a very minimum code.
The framework also provides you with an interactive report which should be generated automatically without adding any additional API or effort once the test case execution is completed
The best part of the framework is it's Opensource and there's no license required to use this framework and can be integrated with popular design patterns like Page Objects, Page Factories and Cucumber BDD
The test execution is handled via JUnit runner and can be integrated with various other tools like Maven and Jenkins.
So in this course we will be learning in Depth of Serenity framework and will use it for the UI, Mobile and the API part
And will also be designing an end to end test framework using Serenity BDD.