Skip to content

AndreaDotDev/spectrum

 
 

Repository files navigation


Table of Contents
  1. About
  2. Getting Started
  3. Contributing
  4. Contacts
  5. Acknowledgments

About

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

Getting Started

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.

  1. 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

  2. Run the LoginFormIT demo test injected by the archetype. It runs on Chrome by default.

  3. 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:

login-form    report

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:

summary    html testbook

For more details, please refer to the full documentation.

Contributing

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 🙏

Contacts

Creator GitHub github logo Linkedin LinkedIn Email gmail logo
Giulio Longfils giulong Giulio Longfils giuliolongfils@gmail.com

Acknowledgments

Spectrum leverages these projects you should definitely check out!

About

E2E Test Automation Framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 77.6%
  • HTML 22.4%