{"id":25776775,"url":"https://github.com/Xceptance/neodymium","last_synced_at":"2026-08-13T12:30:14.187Z","repository":{"id":40636987,"uuid":"100611660","full_name":"Xceptance/neodymium","owner":"Xceptance","description":"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.","archived":false,"fork":false,"pushed_at":"2026-08-07T13:22:23.000Z","size":46750,"stargazers_count":86,"open_issues_count":81,"forks_count":11,"subscribers_count":21,"default_branch":"master","last_synced_at":"2026-08-07T13:57:19.700Z","etag":null,"topics":["automation-test","bdd","java","selenide","selenium","test-automation","test-automation-framework","webdriver"],"latest_commit_sha":null,"homepage":"https://www.xceptance.com/neodymium/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xceptance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2017-08-17T14:22:03.000Z","updated_at":"2026-06-22T17:26:00.000Z","dependencies_parsed_at":"2023-01-28T23:16:07.279Z","dependency_job_id":"fe62dfff-658d-4ec8-bf3d-7359c66df54c","html_url":"https://github.com/Xceptance/neodymium","commit_stats":null,"previous_names":["xceptance/neodymium","xceptance/neodymium-library"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/Xceptance/neodymium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xceptance%2Fneodymium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xceptance%2Fneodymium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xceptance%2Fneodymium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xceptance%2Fneodymium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xceptance","download_url":"https://codeload.github.com/Xceptance/neodymium/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xceptance%2Fneodymium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36606884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-13T02:00:06.325Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation-test","bdd","java","selenide","selenium","test-automation","test-automation-framework","webdriver"],"created_at":"2025-02-27T06:01:30.791Z","updated_at":"2026-08-13T12:30:14.182Z","avatar_url":"https://github.com/Xceptance.png","language":"Java","funding_links":[],"categories":["测试"],"sub_categories":[],"readme":"[![Maven Central](https://img.shields.io/maven-central/v/com.xceptance/neodymium-library\n)](https://mvnrepository.com/artifact/com.xceptance/neodymium-library) \n\n# Neodymium\n\nNeodymium 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.\n\nNeodymium is basically the combination of state of the art open source test libraries with additional glue to make it stick reliably together.\n\n**Note**: We are in the process of migrating the documentation to https://docs.xceptance.com/neodymium with a base repository at https://github.com/Xceptance/xlt-documentation.\n\n## Included Projects\nWe combine and use several open source frameworks. Here are some honorable mentions:\n\n* [**JUnit**](https://github.com/junit-team/junit4): 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 on version 4, but as soon as version 5 features are high in demand, version 5 support will be added.\n* [**WebDriver**](https://github.com/SeleniumHQ/selenium): Of course WebDriver is the core, because it is the only way to communicate with browsers consistently without using proprietary technologies.\n* [**Selenide**](https://github.com/codeborne/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.\n* [**Allure**](https://github.com/allure-framework/allure2): The Allure Framework is a flexible lightweight multi-language test report tool that not only shows a very concise representation of what has been tested in a neat web report form, but allows everyone participating in the development process to extract the maximum of useful information from daily test execution.\n* [**BDD/Cucumber**](https://github.com/cucumber/cucumber-jvm): Neodymium supports BDD. If you prefer this testing style, you can organize your tests using Cucumber. See our example projects for more information.\n* [**Owner**](https://github.com/lviggiano/owner): Organize and implement configurations throughout the different stages of test projects.\n\n## Quicklinks\nIf 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. \n\n* [Neodymium Template](https://github.com/Xceptance/neodymium-template): A template to start a new test automation suite quickly either as Cucumber or as pure Java. \n* [Neodymium Pure Java Example](https://github.com/Xceptance/neodymium-example): A demo test suite against the Xceptance\n  reference demo store [Posters](https://github.com/Xceptance/neodymium/wiki/Posters-demo-store) as pure Java version.\n* [Neodymium Cucumber Example](https://github.com/Xceptance/neodymium-cucumber-example): For the fans of BDD/Cucumber, this is almost the same test suite as before but driven by BDD syntax.\n* [Neodymium Showcase](https://github.com/Xceptance/neodymium-showcase): This repository contains different showcases. Each of them demonstrates and comments on the usage of a single feature of Neodymium. Feel free to request more examples by creating an issue.\n\n## Neodymium in the Media\n* [Neodymium – An Open Source Framework for Web Testing](https://blog.xceptance.com/2019/02/26/neodymium-an-open-source-framework-for-web-testing/): An article about our motivation to start Neodymium and its most important features\n* [Neodymium 5.0.0](https://blog.xceptance.com/2024/06/26/a-new-magnetic-force-neodymium-5-0-0-release/): An article about new things in version 5.0\n* [Web Testing mit Neodymium](https://www.youtube.com/watch?v=hn-juzcXrZg): A recorded talk (in German) about testing with Neodymium. It also gives recommendations and shows best practises. Recorded during a J́UG Thüringen Meetup in 2019.\n* [Neodymium 5.1 – Get more done faster](https://blog.xceptance.com/2025/02/11/neodymium-5-1-get-more-done-faster/): Neodymium 5.1 has been released with a host of impressive new features. These include full-page screenshots in reports, enhanced control over JSON assertions, accessibility testing via Google Lighthouse, and simplified session handling and URL validation.\n* [Automated Accessibility Testing with Google Lighthouse and Neodymium](https://blog.xceptance.com/2025/03/06/automated-accessibility-testing-with-google-lighthouse-and-neodymium/): One valuable tool for checking WCAG compliance is Google Lighthouse. It can help identify accessibility issues during development. And when integrated into your test automation project with tools like Neodymium, it can significantly streamline your accessibility testing and monitoring process.\n\n## Additional Features\nThese are our **additions** to make test automation nicer, quicker, and less painful. \n\n* **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.\n* **Page and Component Concept**: Our example test suites demonstrate a page and component concept for easier test design. (Structural guidance)\n* **Test Data**: Externalized test data for Java test cases including automatic execution per test data set.\n* **Localization**: Simple concept to run localized test cases in conjunction with test data management.\n* **Concurrent Execution**: Concurrent execution of tests with Maven.\n\n## Getting Started\nWe 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.\n\nPlease hop over to the [Wiki](https://github.com/Xceptance/neodymium/wiki/) for a full tour of Neodymium and a Getting\nStarted guide.\n\nIf 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.\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.xceptance\u003c/groupId\u003e\n    \u003cartifactId\u003eneodymium-library\u003c/artifactId\u003e\n    \u003cversion\u003eINSERT_LATEST_VERSION_HERE\u003c/version\u003e\n\u003c/dependency\u003e\n```\nTo write a simple unit test:\n\nAdd the `@NeodymiumTest` annotation to your test method. This enables test execution with Neodymium.\n\n```java\npublic class MyTests\n{\n    @NeodymiumTest \n    public void testMethod()\n    {\n        // test code\n    }\n}\n\n```\n\nPlease be aware that Neodymium (starting at version 5.0.0) is using JUnit5. If you want to run your tests with JUnit4\nNeodymium still supports this and you can have a look [here](https://github.com/Xceptance/neodymium/wiki/).\n\nIf your project is already driven by Neodymium but you want to update to the latest version, please, check\nthe [migration notes](https://github.com/Xceptance/neodymium/wiki/Migrate-to-Neodymium-5)\n\nAnd now is the time to dive into the features we added to make the most out of\nit. [Please head over to our Wiki](https://github.com/Xceptance/neodymium/wiki/).\n\n## Client and Customers\n\nIf you are a customer and want to be mentioned here, please let us know. We will be happy to extend your web reach by placing a link and short description here. You can also just send us a pull request with a change, if you like.\n\n## License\n\nNeodymium is licensed under different licenses depending on which module or features you are utilizing:\n\n### 1. Neodymium Classic (Core Framework)\nThe core, non-AI test automation framework (**Neodymium Classic**) remains fully open-source and licensed under the permissive **[MIT License](LICENSE#section-a-mit-license-neodymium-classic)**. You are free to use, modify, distribute, and commercially host Neodymium Classic without restriction.\n\n### 2. Neodymium Aura AI (AI Integration Module)\nThe advanced AI-powered automation integration (**Neodymium Aura AI**) is dual-licensed to support both the open-source community and enterprise environments:\n\n- **Community Edition:** Free to use for development, testing, and internal applications under the terms of the **[GNU Affero General Public License (AGPLv3)](LICENSE#section-b-gnu-affero-general-public-license-neodymium-aura-ai)**. So, if you just test your own applications, you are free to do whatever you want. If you want to sell services for Neodymium Aura AI or bundle Neodymium Aura AI or just parts, the next line is yours.\n- **Commercial Edition:** If you wish to offer Neodymium Aura AI as a hosted service, bundle it in a commercial SaaS offering, or use it without the AGPLv3 copyleft/network-disclosure requirements, you must purchase a **Commercial License**.\n- **Commercial Support:** If you want to support others in using Neodymium Aura AI or you need changes, features, or any other help, you are encouraged to purchase commercial support. This will support this project, its continuous maintenance, and keep it thriving. There is no free fixing of Neodymium Aura AI unless you are another open source project. We will address problems at our own discretion.\n- Your fixes and pull requests are always welcomed under all licenses and agreements.\n\nFor commercial inquiries, licensing options, or custom agreements, please contact us at **[support@xceptance.com](mailto:support@xceptance.com)**. If you have any questions about licensing, especially if your usage is affected, please reach out to us as well. We are also open to discussing custom license modifications or tailored agreements to fit your specific business or technical requirements.\n\n\n## Who Are We\nWe are [Xceptance](https://www.xceptance.com/en/). 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)](https://github.com/Xceptance/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.\n\nIf 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](http://w3c.github.io/perf-timing-primer/). In case browsers are too heavy, XLT has other modes of load testing to offer as well. \n\nWe offer professional support for Neodymium and XLT as well as implementation and training services.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FXceptance%2Fneodymium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FXceptance%2Fneodymium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FXceptance%2Fneodymium/lists"}