-
Notifications
You must be signed in to change notification settings - Fork 11
ChangeLog
"“If you make a mistake and do not correct it, this is called a mistake." Confucius
With our latest update a bug was introduced, which suppressed the browser in the after method in some cases. This is fixed with version 5.1.1
- Fixed: Browser handling bug that prevented proper execution of cleanup methods
- Added: New undiscovered features (also known as bugs) for future versions to tackle 😉
"Life is short and information endless: nobody has time for everything." Aldous Huxley
This Neodymium update mostly centers about improving our reporting to give the results reviewer a better overview and a quicker way to identify issues, bugs or needed changes in the performed tests.
Also since accessibility and WCAG is a huge topic due to upcoming changes in international law, we now offer a simple way to include Google Lighthouse Reports into test automation.
-
Feature: Create Google Lighthouse Reports directly from test automation runs
- include Lighthouse Reporting as part of the normal user journey with a single method call
- validate on lighthouse scores and specific audits
- Feature: Improved Screenshots
- To better see what went wrong in a test cases we now use full page screenshots. Also, a highlighting of the viewport and the last used element can be enabled in the configuration.
- Feature: Test Data Overview on each Test Case
- To have a better overview on which data was used we now add an overview in a JSON format to each test case
- Feature: JSON Assertions
- In cases where big chunks of JSON needs to validated giving a meaningful error message can be difficult, to tackle this, we added a simple way to add a JSON compare view between an expected and actual JSON to our reports
- Improvement: Enhanced Environment Info. Allure offers an environment overview, which needs to be handled by altering a file. To utilize this feature better, Neodymium now offers two new features
- Custom Values in environment info:
- By setting properties, custom values can be added directly into the environment section of a report. In this way, reports with different test profiles or target systems can be easily differentiated.
- The browsers used in a test run are now collected and also displayed in the environment section for a better overview
- Custom Values in environment info:
- Improvement: Current URL per Step
- To more easily reproduce failed testcases manually a clickable link for each new URL is now displayed in the report.
- Improvement: Reduced displayed information for debug purposes
- We removed some INFO sections from the default report, which can be reenabled for debug purposes
-
Improvement: In-Page PopupBlocker
- In cases where you face nondeterministic PopUps which affects your tests run, we added an automatic PopUpBlocker.
-
Feature: Seperate Sessions for Setup and Cleanup
- It is now possible to run the
@BeforeEach
and@AfterEach
in separate, clean browser sessions.
- It is now possible to run the
-
Improvement: Neodymium properties can now be overwritten by system properties and environmental variables.
- This allows pipeline runs to be configured independently of the state of the repository
-
Improvement: URL Validation
- To prevent a change of system due to misconfigured links on a test system, we can now add a validation on the main URL. If the test tries to open a link, which is not allowed, the test will fail instantly to prevent any harm which could be done by accessing the wrong system (e.g. placing orders or deleting data on a live website).
- There is an exclude list and an include list. If the include list is set, only links which matches the given patterns will be allowed. If there's no include list set, any URL matching the patterns from the exclude list will result in a failed test.
-
Improvement: Support Passing Command Line Arguments To Driver
- We now allow to commandline arguments (like reduce/increase webdriver logs, redirect them to separate file, change port etc.) to be passed via our configuration.
-
fixed bug #305 - we improved the used mp4 codec of our recordings to cover more systems and more video players by default
-
fixed bug #303 - video recording duration and frame rate is now closer to the expectations
-
fixed bug #292 - selenium manager will only be downloaded if needed
-
fixed bug #275 - fixed bug for concurrent file access when several JVMs access the environmental information file from allure
Updates
- Selenide to 7.6.0
- Surefire to 3.5.2
- Allure to 2.29.0
- Cucumber to 7.20.1
- log4j to 2.24.2
- JUnit to 4.13.2
- JUnit Jupiter to 5.11.3
- SnakeYaml to 2.3
- apache.commons-csv to 1.12.0
- apache.commons-text to 1.12.0
- apache.commons-lang3 to 3.17.0
- slf4j-api to 2.0.16
- commons-io to 2.18.0
- gson to 2.11.0
"Change is the law of life. And those who look only to the past or present are certain to miss the future." John F. Kennedy
Due to some changes in Chrome 127, some features of the libraries we use no longer work in the versions we had, so we had to jump on the update train and catch up to the latest version numbers.
Updates
- Selenide to 7.4.0
- BrowserUp Proxy to 2.2.17 (also changed dependency: now com.github.valfirst.browserup-proxy instead of com.browserup)
- Littleproxy to 2.0.22
"Any man can make mistakes, but only an idiot persists in his error." Marcus Tullius Cicero
With our latest release we also introduced some minor bugs. Since one of those bugs allowed - in rare cases - test data to bleed over to another test case, we decided to release an bugfix release addressing our issues.
- fixed bug #266 - no more test data mixup between test cases
- fixed bug #263 - too much log data for catched StaleElementReferenceExceptions
- fixed bug #262 - slight unwanted change in browser config on inherited annotations
- fixed bug #182 - while removing old code we left some (now) unused config files, which might be confusing
- probably added some nice additional bugs to have more fun with the next release
The wait is over! Today we finally get back on the major release train and present you the new Neodymium 5.0.0. Back to state of the art technologies with Selenium 7 and JUnit 5 we bring a bunch of new functionalities, improvements and new features.
Did you ever want to follow the whole journey of your automated user through the site? Well we now have a video recording of your testcases added. We improved the selection of tests to run as well as the way we can configure the browser and a lot of other smaller or bigger things to help you with your automation journey.
Please see below for what you can find inside the big box of updated code.
-
Update: Selenium 4/Selenide 7
-
Feature: Support JUnit5
- see here for changes compared to JUnit4
-
Feature: Testrecording supported
- saved as video or gif, for further information check the documentation
-
Feature: Browser preferences can be configured via properties
- Global browser settings like the home page, alerts permission, default folders, etc. can now be set in the properties files of the Neodymium browser properties using the keyword .preferences (Currently, these preferences are only supported by Chrome and Firefox.)
-
Improvement: Filter test execution
- Now it is possible to use regex for class name, method name and data set id to filter testcase execution
-
Improvement: Configure standard download folder
- Only for Chrome & Firefox
-
Improvement: Locale Check
- checks for given locale matching a given list similar to Neodymium.isSite(String... sites)
-
Improvement: @WIP- Annotation
- You are able to run a single test, a nice way while implementing new stuff
-
Improvement: @RandomDataSet annotation
- Allows to run tests with certain amount of random data sets, given from defined test data list
-
Improvement: @DataItem annotation
- Used to instantiate object with values stemming from test data
-
Improvement: Waiting functions optionalWaitUntilCondition & optionalWaitWhileCondition
- Waits until an optional element matches a condition and returns false if the element does not match the given condition or cannot be found in given time.
-
Improvement : Catching StaleElementReferenceException for SelenideAddons.$safe
-
Improvement: Logging with Log4j as standard removed
- If you want to use Logging, you can now integrate every library you want to use. For further Information look up how to setup here
-
Improvement: Timing settings in long-format
- Because it is common standard
-
Deprecated: Opera and PhantomJS driver no longer supported
- removed due to Selenium 4 update, which no longer supports these driver
-
Deprecated: Removed visual assertions
- It never was perfect and we closed the beta version, working on a better solution
Updates:
- Allure 2.26.0
- Apache commons-csv 1.10.0
- Apache commons-lang3 3.14.0
- Apache commons-text 1.11.0
- Cucumber 6.9.0
- JUnit 4.13.1
- JUnit 5.8.0
- log4j 2.23.1
- Maven Compiler 17
- Selenide 7.2.0
- slf4j-api 2.0.12
- Snakeyaml 2.2
- Surefire 3.0.0.
Since this a big update with several major changes we created an article about the necessary steps to migrate to Neodymium version 5 here
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
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
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
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
Ingredients for this release: 2-3 cups of features, one spoon of bug fixes and a handful documentation 🍲
- 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
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:
- 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
🍀 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.
- 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.
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
Added some missing features and updated dependencies. ✨
- 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>
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:
- 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
Added some missing features and updated dependencies. ✨
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
Sugar for test environments, WebDriver orchestration and data set usage 🍦
- 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 adaptions 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.
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
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
This release (re)adds support for logging, local Safaris and complex test data objects. 🌄
Furthermore, we moved the CucumberPico and the Log4j2 dependencies into Neodymium in order to avoid version incompatibilities and make their usage easier. Make sure to remove them from your automation project while updating.
Features:
- Complex object test data mapping - #83 - documentation
- Move CucumberPico dependency into the library - #91 - Maven dependency should be removed
- Retrieve current browser type - #87 - documentation
Bugfixes:
- Enable local Safari WebDriver support- #86 - documentation
- Reenable logging in child projects - #80 - documentation - Maven dependency should be removed
Updates:
- Selenide 5.2.3 - #88
- Allure 2.12.1 - #88
- Cucumber 4.3.1 - #88
- and some more - #88
This release improves the support for third party SeleniumGrid vendors such as TestingBot and SauceLabs. 🤖
Features:
- Support for TestingBot - #77
- An easier possibility to tear down the current WebDriver - #78
Bugfixes:
- Prevent infinite authentication loop within environment proxy - #82
- Enable Chrome mobile device emulation for third party SeleniumGrid vendors - #77
Updates:
- Selenide 5.2.2 - #81
- Cucumber 4.3.0 - #81
- and some more - #81
This release contains a lot of updates for the used dependencies. We also updated the dependencies for our example and template projects on GitHub, so please review them to find out what could be updated in your test project in order to use the latest and greatest 😉
Features:
- Build support in Java 11 environments - #73
- Configure Selenide configuration for fastSetValue and clickViaJs in Neodymium's configuration #67
- Improve Appium (mobile) support - #71
- Retrieve a localization for a given locale - #65
- Possibility to reach your test environment (e.g. SauceLabs) via a special Proxy - #70
Bugfixes:
- Configuration/Overwriting neodymium.properties (reversed override order) - #74
- After step visible in Allure report - #17
- YAML reserved keyword auto conversion causes an error in localization initialization - #68
-
SelenideAddons.wrapAssertionError
did not attach screenshots and page source to the Allure report - #69
Updates:
- Selenide 5.1.0 - #70
- Allure 2.10.0 - #75
- Cucumber 4.2.3 - #48
- and nearly every other - #75
The major train is running again. 🚂woop... Woop... WOOP... 🎉
We improved and adjusted our ways to configure Neodymium again. Unfortunately those changes could require some changes. Make sure to implement the following:
- WebDriver configuration: Maybe you configured the path to the WebDriver executable or turned on the "keep browser open on failure" feature. All properties starting with
neodymium.webDriver
must be moved frombrowser.properties
intoneodymium.properties
. - ProxyConfiguration: Needs to be moved for
proxy.properties
intoneodymium.properties
- Add the line
dev-*.properties
to your.gitignore
file in order to prevent the development properties files to be committed and pushed by accident - The collectionsTimeout configuration was removed since it not supported by Selenide anymore. (BTW: This is now also covered by the standard timeout setting)
Features:
- Configuration/Overwriting neodymium.properties is implemented in the following way:
- the standard way via
config/neodymium.properties
- configure your development environment via
config/dev-neodymium.properties
(This file should not be committed) - a temporary properties file to change the configuration for a single test case during runtime (ConfigFactory.setProperty("neodymium.temporaryConfigFile", "file:PATH/[temporaryFile].properties")
- System.getProperties() (passing configuration properties via the
-D
switch on command line) - System.getenv() (set configuration properties via your your system environment e.g. PATH)
- the standard way via
- Configuration/Overwriting browser.properties is implemented in the following way:
- the standard way via
config/browser.properties
- configure your development environment via
config/dev-browser.properties
(This file should not be committed)
- the standard way via
- Configuration/Overwriting credentials.properties is implemented in the following way:
- the standard way via
config/credentials.properties
- configure your development environment via
config/dev-credentials.properties
(This file should not be committed)
- the standard way via
- Some shortcuts to configure Selenide via the Neodymium class (e.g. Turn on SoftAssertion, Turn on web site manipulation via JavaScript)
- A condition to validate attributes of an element using a regular expression via
SelenideAddons.matchAttribute
- A helper method to pass information to the Allure report
AllureAddons.addToReport
Bugfixes:
- Fixed a bug that prevented the usage of some methods in Neodymium class since the were not implemented as static functions.
Updates:
- Selenide 5.0.0
General
- Increased unit test coverage
- Removed some unnecessary log output
Features:
- A condition to validate value attributes using a regular expression via
SelenideAddons.matchValue
- Wrap jUnit assertion errors via
SelenideAddons.wrapAssertionError
Bugfixes:
- Allure reports generated in Java project will contain screenshots and page sources again
We are pleased to announce that Neodymium has been released in version 2.0.0 🎉
This is a major release since we consolidated our API. Unfortunately with great changes comes breaking the former API.
So make sure to adjust the following items when you upgrade:
- Renaming of classes in the
neodymium.util
package to achieve a better understanding- e.g.
Driver
toWebDriverUtils
- e.g.
- Refactoring of the
Context.class
- Renamed to Neodymium
- Static functions to access all fields and API functions e.g.:
-
Neodymium.configuration()
to access the NeodymiumConfiguration -
Neodymium.localization("<localizationKey>")
to get the current translation for the<localizationKey>
-
Neodymium.dataValue("<dataKey>")
to get value for the<dataKey>
out of the current data set
-
- Renaming of our current main properties file from
test.properties
toneodymium.properties
- Scoping and renaming for our property keys. We renamed and scoped them accordingly to their usage within the framework. Please find the correct naming in the documentation or in our example neodymium.properties file.
Changes:
- Fixed some bugs in the ProxyConfiguration and added support for configuring sockets
- Removed usage of DesiredCapabilities to get rid of unnecessary console output during test execution
Bugfixes:
- Fixed a NPE when using
JavaScriptUtils.waitForReady()
without configuring a waiting animation selector. - Fixed a NPE in NeodymiumLocalization when having an empty String as value
Updates:
- Allure 2.7.0
- Selenide 4.12.3
- JavaDoc 3.0.1
Documentation: We covered some new topics in our GitHub wiki:
We are pleased to announce that Neodymium has been released in version 1.1.0 🎉
Element highlighting You can now watch your test case doing stuff. With the introduction of element highlighting you can now see which elements are currently selected by your test case. Thus you are able to debug your code line by line and see which elements are selected. Element highlighting does only apply for Selenide selectors. Both, element as well as collection highlighting is supported.
To activate element highlighting you need to adjust config/test.properties
by adding debug.highlight = true
. Note: activating element highlighting also reduces test execution speed as the highlighting is done in an animated way which needs some time to render.
Test execution speed
Now you can slow down test execution for debugging purpose. By adding debug.highlight.duration = 500
(or any other reasonable value of course) to config/test.properties
a waiting time of 500 milliseconds is applied for every Selenide selection. Thus the execution stops for the specified amount of time and continues after this time has expired.
Insecure certificates Multi-browser support was extended to accept insecure certificates when necessary. The Boolean property must be set explicitly for your browser in order accept insecure certificates.
Example: config/browser.properties
# .acceptInsecureCertificates:
# A Boolean property that decides whether the web driver accepts insecure certificate or not.
# The default behavior is the one of the used web driver.
# true: the browser accepts insecure certificates
# false: the browser does not accepts insecure certificates
browserprofile.<browser tag>.acceptInsecureCertificates = true
Additional browser options
You can now specify additional browser arguments/options to your browser configuration. Note: Firefox uses a single dash -
for arguments while Chrome uses a double dash --
(-headless
vs. --headless
). Luckily Chrome does also support the single dash notation that's why we suggest to use always a single dash for arguments.
Furthermore since you can not have multiple arguments attributes you need to put them into a single line. Do so by concatenate them with a semicolon, see the example below.
# .arguments: Additional command line arguments for the browser to apply.
# As you can specify only on 'arguments' property for a browser at a time you need to chain multiple arguments.
# Multiple arguments are chained by semicolon (";") e.g.: `-window-position=0,0 ; -window-size=400,300`
browserprofile.<browser tag>.arguments = -profile-directory=/path/to/profile; -headless;
Maven central With this release Neodymium is available in maven central. So you don't need any special repository entry in your projects pom to find Neodymium.
** Updates **
- Selenide to 4.12.2
Welcome to the v1.0.0 release of Neodymium-Library
We've spent a lot of work over the past month and we are happy to release a production ready version of Neodymium-Library today 🎉
A lot of work was used to refactor the code towards a seamlessly JUnit integration and testing. Also we used the time to overthink some of the features to increase their usability. Thus some things have changed and may need your attention in your ongoing Neodymium projects.
General
New features:
- Added
@SuppressBrowsers
and@SuppressDataSets
: annotate a class or method with to prevent automatic test multiplication for that scope - Extended Multi-browser support to support headless mode for Firefox and Chrome
- Extended DataUtils e.g. beside
int asInt(String key)
there is now a function which will return a given default if the key was not foundint asInt(String key, int defaultValue)
- Eclipse JUnit view can now changed to display tests as a tree (default) or a flat list representation
Changes:
-
@Browser
annotation was changed to define only one browser at a time, but you can now use this annotation repeatedly. Thus you may need to change your existing code.
Bugfixes:
- Clear context: context wasn't cleared before test execution
Updates:
- no dependencies were updated
General
- Added support for Java10 build environments
- Increased unit test coverage
Features:
- Added visual assert basic support
- Added function parentsWithoutSubElement to SelenidePlus
Updates:
- Using Cucumber 2.4.0
Features:
- Added function parentsBySubElement to SelenidePlus
- Added basic auth support
- Extended Allure-Cucumber connector to support multiple example tables
Bugfixes:
- Localization file will now be read in UTF-8 encoding
- Context was not reset for every test in Cucumber execution
- Escaping issue for default configuration
Updates:
- Using Allure 2.6.0
First release of Neodymium-Library.
This software is currently not found in any central maven repository but in Xceptance's Nexus. To use this software add the following to your pom.
<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>0.0.9</version>
</dependency>
Overview
Neodymium features
- Neodymium configuration properties
- Neodymium context
- Utility classes
- Test data provider
- Test Environments
- Multi browser support
- Applitools Plugin
- Localization
- Highlight and Wait
- Advanced Screenshots
- Seperate Browser Sessions for Setup and Cleanup
Best practices and used frameworks
Special