Tests are separated as per feature & nature (UI & API tests) , for each test there is a test class, the test class is calling functions from a page object model class and some other utility classes to achieve a better organisation and code reusability.
Execution options can be adjusted inside a Configuration class, which should handle all the global properties for the project.
Reports are generated using "allure" which provides a detailed reporting system, this include adding screenshots and log files to the test execution record.
Install maven from here
Install allure reporting generation tool from here
Install JDK
Close the repo
$ gh repo clone engsaw/audibene-test-assignment
Test can be executed on chrome driver or on docker, to switch between both the following property in Configuration class needs to be set
String RUNNING_OPTION = "LOCAL.MAC"; OR
String RUNNING_OPTION = "DOCKER.CHROME";$ mvn clean test
install docker from here
selenium/hub
$ docker pull selenium/hub
Image for running Grid Hub selenium/node-chrome
$ docker pull selenium/node-chrome
Grid Node with Chrome installed, selenium/node-firefox
$ docker pull selenium/node-firefox
$ docker-compose -f docker-compose.yml up -d


