Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Xceptance/neodymium
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.1.0
Choose a base ref
...
head repository: Xceptance/neodymium
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Dec 20, 2017

  1. initial visual assert commit

    Marcel Pfotenhauer committed Dec 20, 2017
    Copy the full SHA
    eaddd5a View commit details
  2. renamed properties

    Marcel Pfotenhauer committed Dec 20, 2017
    Copy the full SHA
    1836c19 View commit details

Commits on Jan 4, 2018

  1. exchanged @nullable Interface for maven support

    Marcel Pfotenhauer committed Jan 4, 2018
    Copy the full SHA
    74c8340 View commit details

Commits on Mar 2, 2018

  1. bumped version to 0.1.1-SNAPSHOT

    Marcus Kaufmann committed Mar 2, 2018
    Copy the full SHA
    2f732db View commit details

Commits on Mar 21, 2018

  1. added methods to get window, viewport and page sizes

    Marcus Kaufmann committed Mar 21, 2018
    Copy the full SHA
    35dcf2a View commit details
  2. removed getWindowHeight() and getWindowHeight()

    Marcus Kaufmann committed Mar 21, 2018
    Copy the full SHA
    ebd86f1 View commit details

Commits on Mar 27, 2018

  1. vector based approach

    Marcus Kaufmann committed Mar 27, 2018
    Copy the full SHA
    67fdbe8 View commit details

Commits on Mar 28, 2018

  1. added parameter vector

    Marcus Kaufmann committed Mar 28, 2018
    Copy the full SHA
    173a337 View commit details

Commits on Apr 4, 2018

  1. added tests

    Marcus Kaufmann committed Apr 4, 2018
    Copy the full SHA
    1bd81d7 View commit details

Commits on Apr 5, 2018

  1. close file stream

    Marcus Kaufmann committed Apr 5, 2018
    Copy the full SHA
    95dd31b View commit details
  2. added testing ability to multi browser configuration

    Marcus Kaufmann committed Apr 5, 2018
    Copy the full SHA
    567d786 View commit details
  3. added tests

    Marcus Kaufmann committed Apr 5, 2018
    Copy the full SHA
    e81feb5 View commit details

Commits on Apr 6, 2018

  1. throw exception when no test method is defined

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    c09bde2 View commit details
  2. method runner tests

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    e21cd04 View commit details
  3. parameter tests

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    680a470 View commit details
  4. testcase fixed

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    09e2cdc View commit details
  5. parameter test

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    4f04416 View commit details
  6. included new tests

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    0b09152 View commit details
  7. comments

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    0b5d790 View commit details
  8. comments

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    a816f72 View commit details
  9. parameter test

    Marcus Kaufmann committed Apr 6, 2018
    Copy the full SHA
    79ce7b3 View commit details

Commits on Apr 9, 2018

  1. parameter test

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    3af57f1 View commit details
  2. changed exception message

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    7836b57 View commit details
  3. paramter tests

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    ac99d47 View commit details
  4. added new functionality

    Marcel Pfotenhauer committed Apr 9, 2018
    Copy the full SHA
    6874b64 View commit details
  5. Merge branch 'develop' of https://github.com/Xceptance/neodymium-library

     into develop
    Marcel Pfotenhauer committed Apr 9, 2018
    Copy the full SHA
    902fd7b View commit details
  6. naming

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    f0345c4 View commit details
  7. parameter test

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    75adb61 View commit details
  8. Merge branch 'develop' of https://github.com/Xceptance/neodymium-libr…

    …ary.git into develop
    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    4509985 View commit details
  9. method runner tests

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    b11986c View commit details
  10. fixed tests

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    92b7753 View commit details
  11. load default property file as fallback

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    645d39e View commit details
  12. removed sysout

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    c4f5991 View commit details
  13. moved testdata tests

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    1d764ec View commit details
  14. removed defect/obsolete tests

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    c5314d0 View commit details
  15. added missing assert

    Marcus Kaufmann committed Apr 9, 2018
    Copy the full SHA
    e133c00 View commit details

Commits on Apr 10, 2018

  1. compile with java10

    Marcel Pfotenhauer committed Apr 10, 2018
    Copy the full SHA
    b5f8a77 View commit details
  2. tests

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    c2773df View commit details
  3. data tests

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    a53a9d8 View commit details
  4. data tests

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    f924d78 View commit details
  5. data set tests

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    abaff9c View commit details
  6. added resource copy job for files in src/test

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    c493cc8 View commit details
  7. removed old tests and test data

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    bd0554c View commit details
  8. Copy the full SHA
    9d1e0a0 View commit details
  9. comments

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    f5bee76 View commit details
  10. removed Null class and replaced with Void

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    c6a7a70 View commit details
  11. removed data pool

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    f474d1f View commit details
  12. commented out category code

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    ea2fb38 View commit details
  13. removed generic file reader

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    87ac417 View commit details
  14. moved and renamed BrowserRunner to NeodymiumBrowserRunner

    Marcus Kaufmann committed Apr 10, 2018
    Copy the full SHA
    e53dd5f View commit details
Showing 767 changed files with 43,445 additions and 5,045 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -24,3 +24,9 @@ hs_err_pid*
/.classpath
/.project
/.settings/
build
dev-*.properties
temp-*.properties
embeddedLocalProxySelfSignedRootCertificate.p12
/bin/
/allure-results/
60 changes: 35 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,85 @@
[![Maven Central](https://img.shields.io/maven-central/v/com.xceptance/neodymium-library.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.xceptance%22%20AND%20a:%22neodymium-library%22) [![Join the chat at https://gitter.im/neodymium-library/community](https://badges.gitter.im/neodymium-library/community.svg)](https://gitter.im/neodymium-library/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

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

* [**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 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.
* [**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.
* [**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.
* [**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.
* [**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 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.

* [**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.
* [**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.
* [**Owner**](https://github.com/lviggiano/owner): Organize and implement configurations throughout the different stages of test projects.

## 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 Template](https://github.com/Xceptance/neodymium-template): A template to start a new test suite quickly either as Cucumber or as pure Java.
* [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.
* [Neodymium Pure Java Example](https://github.com/Xceptance/neodymium-example): A demo test suite against the Xceptance reference demo store [Posters](https://github.com/Xceptance/neodymium-library/wiki/Posters-demo-store) as pure Java version.
* [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.
* [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.

## Neodymium in the media
* [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
* [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
* [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.

## 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.
* **Page and Component Concept**: Our example test suites demonstrate a page and component concept for easier test design. (Structural guidance)
* **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.
* **Localization**: Simple 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.
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](https://github.com/Xceptance/neodymium-library/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.
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.

```xml
<repositories>
<repository>
<id>xc-nexus</id>
<url>https://lab.xceptance.de/nexus/content/groups/public</url>
</repository>
</repositories>
...
<dependency>
<groupId>com.xceptance</groupId>
<artifactId>neodymium-library</artifactId>
<version>1.0.0</version>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
```
Add the `@RunWith` annotation to your test class or its superclass. This enables test execution with Neodymium.

To write a simple unit test:

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

```java
@RunWith(NeodymiumRunner.class)
public class MyTests
{
@Test
@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](https://github.com/Xceptance/neodymium-library/wiki/).

If your project is already driven by Neodymium but you want to update to the latest version, please, check the [migration notes](https://github.com/Xceptance/neodymium-library/wiki/Migrate-to-Neodymium-5)

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](https://github.com/Xceptance/neodymium-library/wiki/).

## License
Neodymium is licensed under the MIT License.

## Who Are We
We are [Xceptance](https://www.xceptance.com/). 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://www.xceptance.com/en/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.
We 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.

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](http://w3c.github.io/perf-timing-primer/). 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.
We offer professional support for Neodymium and XLT as well as implementation and training services.
Binary file added config/LocalProxyTestCertificate.p12
Binary file not shown.
Loading