Releases: Xceptance/neodymium-library
Neodymium v4.1.5
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
Version 4.1.4
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
Version 4.1.2
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
Neodymium v4.1.1
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
Neodymium v4.1.0
Ingredients for this release: 2-3 cups of features, one spoon of bug fixes and a handful documentation 🍲
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
- Remove the following part from the
Content
Features:
- Add check for test data key exists - #141 documentation
- Offer fixed random support - #85 documentation
- Print a one line Neodymium version information at runtime - #139 documentation
- Support global browser settings - #123 documentation
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.
- Please switch to
Updates:
Neodymium v4.0.0
🍀 ping, pinG, piNG, pING, PING - Major Release v4.0.0 🍀
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 currentWebDriver
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
Neodymium v3.6.0
Added some missing features and updated dependencies. ✨
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 newScenario
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:
- Add easy support for drag and drop e.g. sliders - #76 - documentation
- Support ShadowDOM (Thanks to https://github.com/selenide/selenide for adding support) - #113 - documentation
- Add Method to get RemoteWebDriver - #115 - documentation
- Integrated proxy to manipulate headers - #112 (Added basic support, more and documentation will follow with #117 )
Updates:
Neodymium v3.5.0
Added some missing features and updated dependencies. ✨
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
Neodymium v3.4.0
Sugar for test environments, WebDriver orchestration and data set usage 🍦
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 newScenario
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 pointWebDriverUtils.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:
Neodymium v3.3.1
The release fixes a bug introduced in Neodymium v3.3.0. 🐛
Bugfixes:
- Fixed a bug in DataUtils.get that resulted in a JsonSyntaxException when parsing strings containing spaces - #93