Table of Contents
Spectrum is a test automation framework that leverages JUnit 5 and Selenium 4 to simplify e2e tests development providing these features automatically:
- Driver instantiation
- Html report generation
- Execution video generation
- Coverage report generation by reading a testbook
- Mail/Slack notifications with reports as attachments
Spectrum manages all the boilerplate code to get these features and many more, allowing you to focus on test logic.
- It is fully configurable via a declarative yaml file
- It provides out-of-the-box defaults to let you run tests with no additional configuration
- supports browsers automation via Selenium
- supports mobile and desktop applications via Appium
All you need to do is take the three steps listed below, as shown in this video:
Spectrum.project.generation.tutorial.mp4
⚠️ JDK
Since Spectrum is compiled with a jdk 21, you need a jdk 21+ to be able to run your tests.
-
Generate a new project leveraging the Spectrum Archetype via your IDE or by running this in a terminal and providing values when prompted:
mvn archetype:generate -DarchetypeGroupId=io.github.giulong -DarchetypeArtifactId=spectrum-archetype -DarchetypeVersion=LATEST
-
Run the
LoginFormIT
demo test injected by the archetype. It runs on Chrome by default. -
Once the execution is done, you will find the
target/spectrum/reports/spectrum-report-<TIMESTAMP>.html
report with the execution video attached.
Here's a quick overview of the project created by the archetype, along with the report generated after the first execution:
And here's the generated video:
video-readme.mp4
Additionally, you can configure Spectrum to automatically produce a html summary and coverage report like these:
For more details, please refer to the full documentation.
Contributions to Spectrum are welcome! If you're interested, please check out the CONTRIBUTING.md.
If you're using Spectrum, please consider giving it a GitHub Star ⭐. It would be really appreciated 🙏
Creator | GitHub | ||
---|---|---|---|
Giulio Longfils | giulong | Giulio Longfils | giuliolongfils@gmail.com |
Spectrum leverages these projects you should definitely check out!