You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When we encounter missing elements with the Unbreakable Selenium, we try to find the old element inside the golden master. Therefore, we query the By used and look what type was used (i.e. By.id, By.class).
However, when we try to find By.cssSelector, we currently only support simple css selectors. The supported selectors look for some known attributes like id or class. For example:
By.cssSelector( "#id" );
By.cssSelector( ".class" );
This should be the same for @FindBy.
Solution
We want to support hierarchical selectors. Note, that this issue should only address selectors that query the parent or its' children of the current element. It should not look for attributes on the current element. A complete specification of CSS selectors can be found in the CSS specification.
The current element would mean to selects any element (this also includes any * or no selector) and queries parent, children, state : or pseudo-element ::. Note that the state may only look at the elements' parent or children. Please refer to the examples below. Note that those examples are not complete, refer to the specification for more.
Problem
When we encounter missing elements with the Unbreakable Selenium, we try to find the old element inside the golden master. Therefore, we query the
By
used and look what type was used (i.e.By.id
,By.class
).However, when we try to find
By.cssSelector
, we currently only support simple css selectors. The supported selectors look for some known attributes likeid
orclass
. For example:By.cssSelector( "#id" );
By.cssSelector( ".class" );
This should be the same for
@FindBy
.Solution
We want to support hierarchical selectors. Note, that this issue should only address selectors that query the parent or its' children of the current element. It should not look for attributes on the current element. A complete specification of CSS selectors can be found in the CSS specification.
The current element would mean to selects any element (this also includes any
*
or no selector) and queries parent, children, state:
or pseudo-element::
. Note that the state may only look at the elements' parent or children. Please refer to the examples below. Note that those examples are not complete, refer to the specification for more.Examples this issue should address
div p
div > p
p~ul
p::before
p:nth-child(4)
Examples not considered for this issue (see #389)
a[target]
a[target=_blank
input:checked
Community
I kindly ask the community to provide examples below that should be reflected with this issue, so that we can use these to test the implementation.
The text was updated successfully, but these errors were encountered: