In this project, i created a UI automation framework, using Selenium & Cucumber. I applied POM Design pattern, creating page objects for each page, and writing step classes which bined the methods inside page objects to the Cucumber steps by instantiating the class object of the page. This project is build using basic principles of OOP, combines BDD with Selenium to test integrity of the website. Therefore this project is scalible for future tests on this specific website.
This project is capable of both WebUI and API tests. Different kind of tests can be enabled by usage of scenario tags. Scenarios with @Web-UI
tag will have a browser initialized while scenarios with @Authenticate
tag will generate authentication tokens for backend tests.
-
Go to project directory in terminal
-
Run:
mvn clean test
-
To run a specific scenario use the special scenario tags:
mvn clean test -q -Dcucumber.filter.tags="@SCN-DemoQA-1"
-
Deafult driver type is Chrome. To select a driver type, add a driver tag in scenarios.
-
Tests can be run headless by modifying the headless property in test.properties.