- Add getOptionLabels to Comboboxes
- Add byFormControlName methode to ClaritySelectContainerComponent
- Add selectByLabel* methode to WebElementSelectors
- Add byText and byLabel factory methods to some components
- Stabelize Clarity comboboxes. It's a minor breaking change, because I could not resist to move the abstract classes to their own file.
- Added selectByText and selectByClassNameAndText to the WebElementSelectors
- Add code for interacting with local storage
- Fixed an issue with DataGrids of Clartiy 17.2.1
- Introduced ClarityPasswordContainerComponent
- The attribute
selenium-key
will be removed in favor of the officialdata-testid
attribute. All methods involvingselenium-key
will be deprecated.
- Fix an issue with comboboxes without selected option.
- Fix an invalid call in waitUntilInvisible.
- Add assert...Soon to all waitFor... methods (that do not trigger the "no-assertion" warning).
- Add method to clear combobox and mark it dirty.
- Additional waitFor* methods
- scrollIntoView for ActiveSeleniumComponents
- Update to Java 17
- Update dependencies
- Optimize ClarityWizardComponent by checking result after next(), previous() and finish()
- Restore SeleniumMatchers.isNotVisible
- Removed a lot of deprecated code
- Fix selectByIndex (it did not respect the parent component)
- Upgraded Selenium to 4.8.3
- Add a Selenium Matcher for contaisning text
- Add an escapeXPath utility for escaping stings used in XPath arguments
- Fix an issue with selecting radio buttons.
- Made the open(url) method of the page deprecated, since it implies that the caller should known the URL of the page
- Fix buttons in wizards (based on types, now)
- Add helper methods to some components
- Make it possible to globally disable the logger in order to avoid logging of passwords.
- Add IFrameComponent
- Add components for Clarity comboboxes.
- Add ClarityInputContainer.
- Improve ClarityFormControlContainer.
- Fix the selectByIndex methods to work as described.
- Fix the selectByIndex methods to work as described and intended.
- Failing to take screenshot does not break error reporting
- SeleniumEnvironment.parseDate accepts empty string and returns null in this case.
- Ignore error when switching back to closed browser.
- Add switchToOtherWindow to Environment.
- Fix getName method of Clarity checkbox.
- Upgrade to Selenium 4
- Fast access for select options, that "contain" a value
- Container for Clarity selects
- Fast access for radio components by index
- Added SeleniumUtils.findParentByType(..) that returns the parent of the specific type
- Fixed the XPath selectors for attributes
- Reenabled keepTrying with keepTrying (used by assertThatSoon)
- Fixed a bug when switching windows
- Basic Clarity icon
- Better error handling if component is not clickable
- Separate AbstractSeleniumPage into a page and the "standalone" page. The standalone page has the same functionality as the page until now.
- Fix the SeleniumUtils.containsClassName method which had false positives
- Reenable input validation (https://bugs.chromium.org/p/chromium/issues/detail?id=1205107 has been fixed)
- Disable input validation (it fails because of https://bugs.chromium.org/p/chromium/issues/detail?id=1205107)
- Fixed a possible NPE with Utils.simplify()
- Fixed bug with the visibility check of the SeleniumUtils. Some componets overrive the isVisible methode (e.g. pages or tabs), but the isVisible method in the SeleniumUtils did not use this method causing the visibility check to be invalid.
- API simplifications:
- Combined Selectable-, Editable- and ClickableSeleniumComponent into ActivteSeleniumComponent.
- The SeleniumComponent is now a Visible one by default
- The SeleniumConditions are deprecated because the are not used and can be perfectly replaced by assertThatSoon with matchers.
- Some Assert methods have been deprecated where Matchers exist. It should reduce the number of assert method variants.
- Removed some utility methods, because they just link to the appropriate method in the component.
- Prevent stale exception with SelectComponent
- Additional SeleniumMatchers for editable, selectable, enabled, disabled
- SeleniumUtils.retryOnFail with runnables in addition to keepTrying
- More robust SeleniumComponentListFactory if parent element is unavailable
- KeepTrying handles AssertionErrors correctly (Throwables)
- Removed CRs from Base64 screensshots to improve copybility
- Optimized assertThatSoon once more to improve error reporting
- Fixed description of VisibilityMatcher
- Deprecated some obsolete and problematic methods
- Some more window handling options.
- Fix switching back to original window.
- Preventing exception when screenshotting closed windows.
- Optimize description of failed click
- Use JPG for error image strings to avoid truncation
- Better robustness with keepTrying/retryOnState
- Optimize SelectComponent and AngularSelectComponent
- getAlertTexts method for ClarityAlertComponent
- Optimize assertThatSoon/Later
- Shorter, more precise exception message in assertThatSoon/Later.
- Upgraded plugins, compiling against Java 11, now.
- Slowly increase the delay in keepTrying-calls to reduce resource usage.
- Fix visiblity detection of Clarity modals without title.
- Fix and optimize selectByIndex
- Add class utilities to SeleniumUtils
- Basic ClarityTabsComponent
- Add
contains
to StringPredicate - Add
clearLocalStorage
to SeleniumEnvironment - Fix
selectByLabel
andselectByValue
of various SelectComponents - ClickableSeleniumComponent should respect the short timeout
- Add
select
to SeleniumComponentListFactory to speed up selection if component can be selected
- Utility methods in SeleniumEnvironment for handling windows and frames.
- Useful StringPredicate for simplifying work with predicates based on strings.
- Deprecate Angular specified code in standard components
- Add a specified AngularSelectComponent repecting the ":" in the value field.
- The SeleniumEnvironment is reponsible for screenshots, now.
- Migrate to Junit5
- Some WebElementSelectors now support multiple parameters as or-concatination
- Make value comparator configurable
- PageTitle should be public
- Remove abtract from ClarityWizardPage
- Added a findParent method to the Selenium Utils
- Added more selector options to ImageComponent
- Adapt Components for Clarity 3
- Fix usage of java 11 API
- Read locale from html lang attribute
- Upgraded all dependencies
- Some WebElementSelectors now support multiple parameters as or-concatination.
- Fix for newest clarity version
- Increase default timeout from 2 to 3 seconds
- Removed callWithTimeout from SeleniumUtils.keepTrying
- Adapted Clarity radio component
- Make EditableSeleniumComponent more stable
- Make ClickableSeleniumComponent more stable
- Fix wrong implementatin for SelectComponent
- Optimize assertion handling
- Speeding up keepTrying
- Fixed some warnings
- Make date handling Java 8 compatible
- Add date handling to SeleniumEnvironment
- Catch AssertionErrors in keepTrying
- Improve exception reporting
- Add getName and getId to Checkbox components
- Add second constructor to ClarityWizardComponent
- Adapt clarity components for V2.0
- Add some getters to the ClarityWizardComponent
- Fix build for OpenJDK 11
- Update clarity components to version 1.0
- Retry on stale element error
- Improve the SelectComponent
- Fix bug on exact comparison
- Optimizes loading of elements
- Adds some more components for clarity
- Fixes Problem with ClarityAlertComponent in devmode
- Fixes some problems with clarity in production mode
- Did some cleanup
- Adds HeadingComponent
- Adds PreComponent
- Adds constructor for selenium-key to ButtonComponent
- Fixes invalid system property handling
- Adds isClickable Matcher
- Call-Line logging moved to ThreadUtils.
- Using SeleniumLogger as Logger instead of SLF directly.
- Components for Clarity
- The SeleniumComponent now offers a LOG variable.
- Utilities for simplifying strings and computing the Levenshtein Distance.
- The SeleniumComponent now offers a LOG variable. Debug log messages were added at various locations.
- The InputComponent now checks the input on enter.
- keepTrying() now does not stack itself anymore.
- Remaning assertThatSoon methods
- HtmlComponent is final
- Additional Components and Assertions
- Improves API for SeleniumListComponent
- Clarity checkbox
- Default WebDriverFactories for Chrome, Firefox, Edge and BrowserStack.
- assertThatSoon accepts supplier methods with exceptions.
- Better code line hints on exceptions.
- Moved isClickable, click to ClickableSeleniumComponent interface.
- Moved isEditable, clear, sendKeys, isEnabled to EditableSeleniumComponent interface.
- Moved isSelected to SelectableSeleniumComponent interface.
- Moved isVisible to own VisibleSeleniumComponent interface.
- Added an AnimatedSeleniumComponent with an animation check.
- Clarified usage of isVisible by adding it to SeleniumComponent.
- Removed isReady and isVisible from SeleniumUtils for consistency.
- SelectFirst and SelectLast for WebElementSelector
- SeleniumComponent provides a searchContext() method instead of implementing the interface.
- Renamed SeleniumContext to SeleniumEnvironment, otherwise it's too confusing with the SearchContext.
- Added ListComponent
- Better debugging support (use -Dselenium-components.debug)
- More SeleniumUtils and -Asserts
- Fixed endless-loop in retryOnStale
- Moved SeleniumActions to SeleniumUtils
- Moved some SeleniumUtils to Utils
- Removed component classes named after HTML elements
- Fix for WebElementSelector.selectByIndex(..)
- WebElementSelector.selectByColumn(..) added
- Better toString descriptions for components and selectors
- Added some documentation
- Some classnames changed to simplify understanding of the API.
- SeleniumComponent does not provide elements() anymore, to simplify the API.
- WebElementSelector got a selectByIndex(int)
- new predefined components
Initial release.