Hi Alex, The idea is that if you have configured a custom navigator to be used via a custom navigator factory then all instances of navigators, including the ones backing modules will be of your custom type. So if it's not the case then it will be a bug but I've looked at the code in depth and couldn't spot anything amiss.
Can you please share your inner navigator factory and CustomNavigator implementations? A self contained, reproducible example would also be helpful - you could simply provide one based on geb.navigator.CustomNavigatorSpec in a fork of Geb's the repo. Thanks, Marcin On Wed, Jun 19, 2019 at 10:21 AM AlexB <[email protected]> wrote: > Hi again! > > It looks like the question is valid. I found the case where > MyCustomNavigator is not used. But it looks like the key point is not in > the selector, but in the fact that elements from Modules do not use it. > Please see the attached screenshot. > The test failed due to StaleElementReferenceException. MyCustomNavigator > has a workaround for it. But as per the exception the element does not use > it. > > Is there a Geb-natural way to make Module elements use MyCustomNavigator? > > > > On Tuesday, June 11, 2019 at 2:43:56 PM UTC+3, Marcin Erdmann wrote: >> >> No problem Alex. There's no need to worry about deleting it, it still >> might prove useful to people and I don't think it's even possible to delete >> it. >> >> Cheers, >> Marcin >> >> On Tue, Jun 11, 2019 at 10:13 AM AlexB <[email protected]> wrote: >> >>> Oops. It looks like it works fine for Form Control Modules. Sorry. How >>> do I delete this post? >>> >>> On Tuesday, June 11, 2019 at 12:11:20 PM UTC+3, AlexB wrote: >>>> >>>> Hi All, >>>> >>>> As per the documentation I added to GebConfig class the following line: >>>> >>>> innerNavigatorFactory = { Browser browser, List<WebElement> elements -> >>>> >>>> elements ? new MyCustomNavigator(browser, elements) : new >>>> EmptyNavigator(browser) >>>> >>>> } >>>> >>>> An I see MyCustomNavigator is used in all cases when elements are >>>> declared: >>>> a) without using Form Control Modules >>>> b) using CSS only as a locator. >>>> Example: >>>> static content ={ >>>> anElement{$("div>div>div.class>button")} >>>> } >>>> >>>> If I use geb locator syntax or specify a module for an element default >>>> NonEmptyNavigator is used. >>>> Example: >>>> static content ={ >>>> anElement1{$("div>div>div.class>button", text: "Continue")} >>>> anElement2{$("div>div>div.class>button").module(FormElement)} >>>> } >>>> >>>> *Question:* >>>> Is there a way to use MyCustomNavigator for the elements that use Form >>>> Control Modules as well? >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Geb User Mailing List" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/geb-user/6de6ea18-6c84-436c-95b9-1e6d1fcd2d9f%40googlegroups.com >>> <https://groups.google.com/d/msgid/geb-user/6de6ea18-6c84-436c-95b9-1e6d1fcd2d9f%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > You received this message because you are subscribed to the Google Groups > "Geb User Mailing List" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/geb-user/ddb4a45b-b7bd-499a-b6f3-8c200085fcb3%40googlegroups.com > <https://groups.google.com/d/msgid/geb-user/ddb4a45b-b7bd-499a-b6f3-8c200085fcb3%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Geb User Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/geb-user/CA%2B52dQRpFf%2BWwVm1ms%2BX8WrGC4hjCeipCG46V35_T4V4kJ2KXg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
