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. It is based on common best practice open source libraries. It adds missing functionalities but does not reinvent the wheel. Just glues stuff together nicely and adds some sprinkles.

Neodymium tries to solve your typical and most pressing UI test automation problems by combining JUnit, WebDriver, BDD/Cucumber, and proper reporting. It gives you ready to use templates, assembles well-known open source projects, and enhances this all with additional functionality that is often missing.

allure report overview

Features

The Most Noticeable Features in a Nutshell

JUnit

Base Framework

It is the base test framework because JUnit support can be found everywhere, so it is the perfect base for easy integration and comprehensive IDE support. Neodymium supports JUnit 4 and JUnit 5.

WebDriver

Browser Automation

Of course WebDriver is the core, because it is the only way to communicate with browsers consistently without using proprietary technologies. Learn more

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. Learn more

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. Learn more

BDD

Cucumber

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

Owner

Properties Reinvented.

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

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.

More Features

Some More Interesting Things in Detail

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.

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

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.

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.

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, could be even more than once. You will get that data as part of the Allure report, and, which is the best, you can assert the returned information to ensure you are not missing anything.

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.