A test automation library based on common other best practice open source libraries. It adds missing functionalities but does not reinvent the wheel. Just glues stuff together nicely and adds some sprinkles.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
src
.gitignore
LICENSE
README.md
pom.xml

README.md

Maven Central

Neodymium 2.1.0

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.

Neodymium is basically the combination of state of the art open source test libraries with additionally glue to make it stick reliably together.

Included Projects

  • JUnit: 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. Right now it is version 4, but as soon as version 5 features are high in demand, version 5 support will be added.
  • WebDriver: Of course WebDriver is the core, because it is the only way to communicate with browsers consistently without using proprietary technologies.
  • Selenide: 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.
  • Allure: The Allure Framework is a flexible lightweight multi-language test report tool that not only shows a very concise representation of what have been tested in a neat web report form, but allows everyone participating in the development process to extract maximum of useful information from everyday execution of tests.
  • BDD/Cucumber: Neodymium offers two ways of writing tests. If you prefer BDD style testing, go for it. If you rather put everything in code, fine that works as well. See our example projects for more information.

Quicklinks

If you already know what you want to do, you can pick one of the demo test suites or our test suite template. If you are new to Neodymium, please read on.

Additional Features

These are our additions to make test automation nicer, quicker, and less painful.

  • Multi Browser Support: Simple setup and use of different browsers including remote browsers. Annotation per test case defines what browsers are supported by this very test case. Automatic execution of the test case per browser.
  • Page and Component Concept: The test suite showcase a page and component concept for easier test design.
  • Test Data: Externalized test data for Java test cases including automatic execution per test data set.
  • Localization: Simply concept to run localized test cases in conjunction with test data management.
  • Concurrent Execution: Concurrent execution of tests with Maven.

Getting Started

We recommend to start with our template instead of writing a suite from scratch. If you need more guidance, you can also start from one of our full demo test suites.

Please hop over to the Wiki for a full tour of Neodymium and a Getting Started guide.

If you are still impatient, here is the quickest way to get Neodymium added to your project. Don't forget the update the version number if you prefer a particular version.

<dependency>
    <groupId>com.xceptance</groupId>
    <artifactId>neodymium-library</artifactId>
    <version>2.1.0</version>
</dependency>

Add the @RunWith annotation to your test class or its superclass. This enables test execution with Neodymium.

@RunWith(NeodymiumRunner.class)
public class MyTests
{
    @Test 
    public void testMethod()
    {
        // test code
    }
}

And now is the time to dive into the features we added to make the most out of it. Please head over to our Wiki.

License

Neodymium is licensed under the MIT License.

Who Are We

We are Xceptance. A software testing company with strong commerce knowledge and projects with customers from all around the world. Besides Neodymium, we have developed Xceptance Load Test (XLT), a load and performance test tool that is available free of charge and features an extensive range of awesome features to make the tester's and developer's life easier.

If you are looking for test automation that also covers the performance side of life, take a look at XLT. You can write and run load tests with real browsers including access to data from the Web Performance Timing API. In case browsers are too heavy, XLT has other modes of load testing to offer as well.

We offer professional support for Neodymium as well as implementation and training services.