Test Automation and CI using Serenity BDD & Jenkins for an Oracle ADF Application: Part 1 of 5

Serenity BDD: What is it? Where is it used?


Serenity BDD is an open source library that helps developers and testers write maintainable automated acceptance and regression tests faster. It also uses the test results to produce illustrated, narrative reports that document and describe what your application does and how it works. A developer can build Serenity test suites using Maven, Gradle, or Ant. Serenity BDD provides strong support for automated web tests using Selenium 2. To learn more about the basic concepts of Behaviour Driven Development or BDD please refer to the link below.


In this blog series we explain how to

Part 1: Install Serenity BDD and configure the environment
Part 2: Build sample Serenity project/test suite using maven
Part 3: Configure an existing ADF Application using maven
Part 4: Create Serenity test suite for the maven-based Oracle ADF application
Part 5: Continuous Integration of Serenity test suite using Jenkins

PART 1: Serenity BDD install and configure the environment

We will install and setup all the prerequisites for Serenity BDD on Windows 10 first and In the next blog PART 2 we will discuss how to run a sample Serenity test suite(maven application) to validate the installations.

Downloads required:

Download maven apache-maven-3.5.0

Setup M2_HOME in the system environment variables with the location of the maven as shown below.


Install the latest version of JDK (1.8)
Make sure to setup JAVA_HOME and add it to the path, if added correctly you should be able to see the version using the command below
> java -version


Download and Install Eclipse IDE for Java Developers

Download the required web drivers from the below link.( will discuss about the version compatibilities in my next blog)

I have the following versions (download the same versions for this sample).

IEDriverServer win32Bit – 3.4.0
Chromedriver win32Bit
Geckodriver win32Bit V0.19.0

Unzip and place the .exe files in a location and make sure you add the locations to the path.


Selenium WebDriver makes direct calls to the browser using each browser’s native support for automation. WebDriver API is designed to provide a simpler, more concise programming interface in addition to addressing some limitations in the previous versions like Selenium-RC API, Selenium IDE. Selenium WebDriver supports dynamic web pages where elements of a page may change without the page itself being reloaded. WebDriver’s goal is to supply a well-designed object-oriented API that provides improved support for modern advanced web-app testing problems.

In PART 2 Build sample Serenity project/test suite using maven,will explain how to setup a simple maven project to write tests, run test suite and analyse the reports in Serenity BDD. Detailed explanation of the plugins in pom.xml used for this purpose and a sample project will be provided to test your installation.

hareesha muppalaneni