Neodymium Library Versions Save

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.

v4.1.5

1 year ago

As the previous Snakeyaml version (1.31) has some vulnerabilities that were fixed with the 1.33 version, we updated the dependency to make the library more secure.

Updates: Snakeyaml 1.33

v4.1.4

1 year ago

After Apache Common Text released a new version (1.10.0), we decided to update the dependency to prevent any attack scenarios from that side. We also updated some other tools to stay up-to-date.

Updates: Apache Commons Text 1.10.0 Apache Log4j dependencies 2.17.1 Apache Commons Lang 3.12.0 Snakeyaml 1.31

v4.1.2

2 years ago

After Log4j released a new version (2.16.0), we decided to update the dependency to prevent any attack scenarios from that side. We also updated some other tools to stay up-to-date.

Updates: Apache Log4j dependencies 2.16.0 Apache Commons CSV 1.9.0 Apache Commons Lang 3.12.0 Browserup 2.1.2 Jayway Jsonpath 2.6.0 JUnit 4.13.2 Slf4j API 1.7.32 Snakeyaml 1.29

v4.1.1

2 years ago

Security release

Even though the standard usage of Neodymium itself doesn't provide an easy/useful attack scenario for the log4j issue (https://nvd.nist.gov/vuln/detail/CVE-2021-44228), we would like to encourage all our users to update the Neodymium dependency as soon as possible to avoid any further risks.

Updates: Apache Log4j dependencies 2.15.0

v4.1.0

3 years ago

Ingredients for this release: 2-3 cups of features, one spoon of bug fixes and a handful documentation :stew:

Required Adoption

  • Cucumber 6 no longer supports configuration via system property variables as stated in the allure documentation see (issue). So if you use Neodymium with Cucumber as BDD approach, perform the following tasks to adapt these changes in your test suite:
    • Remove the following part from the maven-surefire-plugin plugin:
      <systemPropertyVariables>
        <cucumber.options>--plugin io.qameta.allure.cucumber5jvm.AllureCucumber5Jvm</cucumber.options>
      </systemPropertyVariables>
    
    • Option one within the test case:
      @CucumberOptions(
        features = "src/test/java/template/cucumber/features", glue = “template", 
        plugin = {“io.qameta.allure.cucumber6jvm.AllureCucumber6Jvm”}
      )
      public class RunAllFeaturesTest
      {
      }
    
    • Option two within the src/test/resources/cucumber.properties file:
      cucumber.plugin=io.qameta.allure.cucumber6jvm.AllureCucumber6Jvm
    

Content

Features:

Improvement, Documentation and Bugfixes:

  • Add How to Run Neodymium wiki page - #140 documentation
  • Consolidate JavaDoc - #107 (ongoing)
  • Document test execution order - #134 documentation
  • Fix displaying of ignore reasons for test methods in allure report - #145
  • Improve SelenideAddons.wrapAssertionError - #142
  • Remove support for ftp proxy - #144
  • Stabilize the SelenideAddonsTest - #143

Deprecated:

  • Deprecate SelenideAddons.matchAttribute - #146:
    • Please switch to com.codeborne.selenide.Condition.attributeMatching.
    • Note: You need to adapt your regex. You could add .* at the beginning and the end to match the current behavior (contains the given regex) or define it more precisely according to your test case.

Updates:

  • Allure Report dependencies 2.13.6 - #138
  • Cucumber dependencies 6.8.1 - #138
  • JUnit 4.13.1 - #138
  • Selenide 5.15.1 - #138
  • Snake YAML 1.27 - #138

v4.0.0

3 years ago

:four_leaf_clover: ping, pinG, piNG, pING, PING - Major Release v4.0.0 :four_leaf_clover:

This time we added some new features for test executions, updated our dependencies, fixed some bugs and last but not least raised the JRE to 11.

Required Adoption

  • Make sure your execution environment provides Java 11
  • Update the Java version of your test project to 11 instead of 1.8 edited
  • Update the aspectjweaver version to 1.9.6 to prevent issues with Java11 edited
  • If you manipulated the WebDriverCache or accessed the current WebDriver you may need to adapt your code to the newest API.

Content

Features:

  • Added a basic method for drag and drop - #127 - documentation
  • Added a method to open a HTML snippet within the current browser #133 - documentation
  • Improved the embedded local proxy - #117 - documentation
  • Added the possibility to configure the maximal number of reuses for the WebDriver - #124 - documentation

Improvement and Bugfixes:

  • Improved and fixed tests for Neodymium itself: #121, #125, #128, #132
  • Removed explicit Google Guava dependency - #131
  • Removed a bug that occurred while clearing the WebDriverCache when more than one Browser was used - #124

Updates:

  • JRE to 11 - #135
  • Allure Report dependencies 2.13.5 - #119
  • Apache Commons Lang 3.11 - #119
  • Apache Commons Text 1.9.0 - #119
  • Apache Log4j dependencies 2.13.3 - #119
  • BrowserUpProxy Core 2.1.1 - #119
  • BrowserUpProxy MITM 2.1.1 - #119
  • Cucumber dependencies 5.7.0 - #119
  • OWNER 1.0.12 - #119
  • Selenide 5.14.2 - #119

v3.6.0

4 years ago

Added some missing features and updated dependencies. :sparkles:

Required Adoption

  • Cucumber refactored its API once more and we decided to adapt it. So if you use Neodymium with Cucumber, you need to perform the switch to the newer version within your DriverHooks class since we only accept the new Scenario class. Use the following import: import io.cucumber.java.Scenario.
  • Cucumber performed a major release so you also need to adapt you pom.xml. Replace the old adapter with the following line <cucumber.options>--plugin io.qameta.allure.cucumber5jvm.AllureCucumber5Jvm</cucumber.options>

Content

Features:

Updates:

  • Allure Report dependencies 2.13.2 - #114
  • Apache Maven Javadoc Plugin 3.2.0 - #106
  • Apache Commons CSV 1.8.0 - #114
  • Apache Commons Lang 3.10 - #114
  • Apache Log4j dependencies 2.13.0 - #114
  • Cucumber dependencies 5.6.0 - #114
  • Google Guava 28.2-jre - #114
  • Selenide 5.10.0 - #114
  • SnakeYAML 1.26 - #114

v3.5.0

4 years ago

Added some missing features and updated dependencies. :sparkles:

Content

Features:

  • Parse a specific path/key of the data set as custom object- #104 - documentation
  • Retry a whole chain after a StaleElementReferenceException occurs - #105 - documentation
  • Added isSite function to Neodymium class - #108 - documentation

Improvement:

  • DebugUtilsTest is flaky (fixed issue in Neodymium library test suite) - #102

Bugfixes:

  • Retry a whole chain after a StaleElementReferenceException occurs (fixed and documented the already available variant) - #105

Updates:

  • Allure Report dependencies 2.13.1 - #106
  • Apache Commons Text 1.8.0 - #106
  • Apache Log4j dependencies 2.13.0 - #106
  • Apache Maven Compiler Plugin 3.8.1 - #106
  • Apache Maven Javadoc Plugin 3.1.1 - #106
  • Apache Maven Source Plugin 3.2.1 - #106
  • Cucumber dependencies 4.8.0 - #106
  • Maven Surefire Plugin 22.2.2 - #106
  • Selenide 5.6.0 - #106

v3.4.0

4 years ago

Sugar for test environments, WebDriver orchestration and data set usage :icecream:

Required Adoption

  • Cucumber deprecated its API and we decided to switch to the new one. So if you use Neodymium with Cucumber you need to perform the switch to the newer version within your DriverHooks class since we only accept the new Scenario class. Nevertheless, we recommend to perform the other adoptions within the near future to have less work once the old API is dropped.
  • We moved the static function BrowserStatement.quitCachedBrowser() to a better internal place, hence we added a better entry point WebDriverUtils.quitReusableCachedBrowsers() that should be used.

Content

Features:

  • Improved test environment support- #95 - documentation
  • Added a possibility to define the path of the data set file - #96 - documentation
  • Added a method to prevent the reuse of a WebDriver - #100 - documentation

Improvement:

  • Added a default message to AssertionErrors without a message in order to prevent being misled by the stacktrace for SelenideAddons.wrapAssertionError() - #99

Bugfixes:

  • Removed misleading timeout in SelenideAddons.wrapAssertionError() - #101

Updates:

  • Apache commons-csv 1.7 - #98
  • Apache commons-text 1.7 - #98
  • Apache Log4j 2.12.1 - #98
  • Cucumber 4.7.2 - #98
  • Google Guava 28.1-jre - #98
  • Selenide 5.2.8 - #98
  • SLF4J API 1.7.28 - #98
  • SnakeYAML 1.25 - #98

v3.3.1

4 years ago

The release fixes a bug introduced in Neodymium v3.3.0. :bug:

Bugfixes:

  • Fixed a bug in DataUtils.get that resulted in a JsonSyntaxException when parsing strings containing spaces - #93