A very simple template project for creating a test automation suite using java, selenium, selenide & cucumber. Modify, integrate it and extend it in any way to your heart's content.
The project uses Selenide, a wrapper around Selenium which has several benefits over using Selenium alone.
A starter implementation of the page object model lives within the project. For further information read the following article.
You must download chrome drivers for your specific OS and unpack them into a directory called drivers
within the project's main directory.
This template was created to demonstrate BDD principles which advocates writing tests first before any development. As such you should use this template to build your own application.
In the project directory run mvn test
. The suite will attempt to run against a web-app deployed on http://localhost:8080/
by default. This can be overridden at run-time by specifying a system property -DBASE_WEB_APP_URL=
or modifying the getBaseAppUrl()
method in BaseStepDefinition
- Incorporate DI into the project (e.g. cucumber-spring) - use this to set the location of the base app URL at runtime
- Implement test parallelism with the cucumber-jvm-parallel plugin
- Integrate with Fabric8 and run tests against a docker container containing your web app
- Integrate tests into a CI / CD pipeline