Neodymium logo

Neodymium is a combination of the best open source libraries for test automation. It gives you ready to use templates and enhances all this with often missing functionalities. MIT licensed.

Neodymium Product logo

Leveled Up WebDriver and Selenium Test Automation

What is Neodymium?

Test Automation With Neodymium

Neodymium is a test automation library for web applications. Based on common best-practice open source libraries, Neodymium takes well-known concepts and technologies, glues them together nicely, and adds a few sprinkles.

Tired of building test automation frameworks instead of writing tests? Neodymium, developed by experienced test automation engineers, simplifies UI testing by providing everything you need in one place. Manage test data, handle localization, control browsers easily, and generate enhanced reports. With ready-to-use templates and built-in best practices, Neodymium lets you focus on what matters: creating effective tests.

Here you find the Neodymium repository on GitHub.

allure report overview

Main Features

Everything you need for a full scaled test automation

Multi-Browser

Same Test Case, Different Browser

Simple setup and use of different browsers including remote browsers. Annotation per test case defines what browsers are supported by this very test case. Neodymium will automatically execute the test case multiple times including reporting results correctly.

Chrome logo Firefox logo Selenium Grid logo

Java source code showing browser annotations

Test Data

Flexibility and Easier Maintenance

Neodymium supports externalized test data including but not limited to storage formats such as JSON, CSV, and XML. The data will be automatically mapped into the test case. Also, Neodymium will execute as many tests as data sets are available. So you can drive tests with data.

Learn more

Localization

Locales and Data

The Neodymium context class provides a function to assist with localization. You can fetch data based on the currently used locale to have tests use different data based on its context.

A YAML data example for localization
An Allure report with some example data including a screenshot

Streamlined Test Reporting

Enriched out of the Box Allure Reports

Neodymium leverages Allure reports out of the box, providing clear and helpful test results. To streamline analysis, Neodymium enhances the standard Allure reporting with a lot of helpful additions, consolidating all necessary information in one place. This makes it easy to quickly identify and resolve issues, ultimately improving test reliability and accelerating development.

Google Lighthouse

WebVitals and Accessibility

Neodymium allows you to run Google Lighthouse reports as part of your test execution. You just trigger them during your execution on every page you need. You will get that data as part of the Allure report, and, which is the best, you can assert the returned information to ensure your newest deploy does not break any WCAG rules.

Example of a Report with an integrated Lighthouse report
Screenshot of a recording session, showing a video player

Record It

Record Your Test Execution

A video or gif recording of your test execution shows you how the test was executed in the browser. You can also check the visuals and try to identify error situations. This allows you to review your tests in action and uncover areas that may need some improvement.

Learn more

Get Started

Templates and Demos

Several projects on GitHub demonstrate how to use Neodymium effectively. They are all fully functional and a great starting point for your own test project. The starter template that is minimal test suite and setup, fork away from here. The BDD fans might like this version because it demos the less code approach. Our showcase project demos many interesting automation challenges including downloads, sliders, mailing, mobile testing and more.

Source code showing Java code with an example of page objects

Page Concept

Structural Guidance

Our example test suites demonstrate page and component concepts for simpler and cleaner design. This will give you structural guidance. Of course, you are free to take any route you want.

Learn more

Base Technologies

Combines Well-Known Frameworks

JUnit

Base Framework

It is the base test framework because JUnit support can be found everywhere. Neodymium supports JUnit 4 and JUnit 5.

WebDriver

Browser Automation

WebDriver is the core engine to talk to browsers.

Allure

Test Reporting

The Allure Framework is a flexible lightweight multi-language test report tool that shows a very concise representation of what has been tested.

Selenide

Concise Fluent API

There are plenty of UI automation libraries available that are built on top of WebDriver. Selenide is one of the most popular approaches that is compact, fluent, and solves a lot of the basic challenges, hence we included it.

BDD

Cucumber

Neodymium supports BDD. If you prefer this testing style, you can organize your tests using Cucumber.

Owner

Properties Reinvented.

No more code to load, convert and manage properties files, just use your properties in the simplest possible way, that is the Owner framework.

Maven

The Build Tool

One of the most used and standarized build tools is used. If you want to use another one, feel free to do so.

Java

Broad Support

Utilizes the programming language with the most and best libraries. Stick to your known programming patterns.

License

Neodymium is Open Source Under MIT license.

Find the Neodymium repository on Neodymium on GitHub. There you will also find links to related projects. Please star and watch it for future updates.