Xceptance / neodymium-library

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.
MIT License
79 stars 11 forks source link
automation-test bdd java selenide test-automation test-automation-framework webdriver

Maven Central Join the chat at https://gitter.im/neodymium-library/community

Neodymium

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 additional glue to make it stick reliably together.

Included Projects

We combine and use several open source frameworks. Here are some honorable mentions:

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.

Neodymium in the media

We have a talk (in German) about the features and some best practices for Neodymium available on YouTube.

Here is an article on describing the main features of Neodymium and our motivation why we saw the need to create it.

Additional Features

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

Getting Started

We recommend starting 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 to update the version number if you prefer a particular version.

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

To write a simple unit test:

Add the @NeodymiumTest annotation to your test method. This enables test execution with Neodymium.

public class MyTests
{
    @NeodymiumTest 
    public void testMethod()
    {
        // test code
    }
}

Please be aware that Neodymium (starting at version 5.0.0) is using JUnit5. If you want to run your tests with JUnit4 Neodymium still supports this and you can have a look here.

If your project is already driven by Neodymium but you want to update to the latest version, please, check the migration notes

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 open source too (APL 2.0). It provides 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 and XLT as well as implementation and training services.