Any chance you can capture a video of the test? It's hard to reconcile this
discussion and logs without seeing anything.
Justin
On Tuesday, November 6, 2018 at 12:37:01 PM UTC-5, rajagopalan madasami
wrote:
>
> I am calling this function
>
> def waitForPageLoad
>
> @b.wait_until(timeout: @Page_Load) {@b.execute_script("return
> (jQuery.active === 0)").eql? true}
> end
>
> function in every click function like
>
> def clickButton(locator, action, name, data)
> puts "ClickButton : #{name}"
> loc = getLocator(locator)
> @b.button(loc.first => loc.last).click
> waitForPageLoad
> end
>
> Do you see the clickButton method
>
> calls waitForPageLoad at the end so it waits for the spinner disappear. So it
> doesn't click on the spinner. Even if it clicks at the
>
> spinner it retry it because I have included
> Selenium::WebDriver::Error::ElementClickInterceptedError
>
> rescue Selenium::WebDriver::Error::ElementNotVisibleError,
> Selenium::WebDriver::Error::ElementNotInteractableError,Selenium::WebDriver::Error::ElementClickInterceptedError
> raise_present unless Wait.timer.remaining_time.positive?
> raise_present unless %i[wait_for_present wait_for_enabled
> wait_for_writable].include?(precondition)
> retry
>
> So all I am seeing here is, It perfectlys lands on a page, and it
> successfully enters into the click method but it waits for 30 seconds and it
> fails.
>
>
>
>
> On Tue, 6 Nov 2018 at 22:51, Titus Fortner <[email protected]
> <javascript:>> wrote:
>
>> Yes, this makes sense from the code perspective.
>>
>> What your site is doing is requiring you to accept an alert, then it
>> does some kind of processing, then it refreshes some/all of the page.
>>
>> Your code is trying to click the element before the refresh has
>> happened, and because of the way you are rescuing it, it is giving you
>> misleading information. The element was located but couldn't be used,
>> then at the point it is trying to be used it is stale, and that method
>> isn't relocating when stale.
>>
>> Can you raise an issue on Github with this gist? Something like "Watir
>> should relocate stale elements when trying to click them"
>>
>> In the meantime, something like this should work:
>>
>> @b.alert.ok
>> @b.div(id: "spinnerOverlay").wait_while(&:present?)
>> @b.button(id: "NavContinue").click
>>
>>
>> On Tue, Nov 6, 2018 at 10:56 AM <[email protected] <javascript:>>
>> wrote:
>> >
>> > Hi Titus,
>> >
>> > Here is the gist url
>> >
>> > https://gist.github.com/Rajagopalan-M/ba78aed6342c61d07968cfe195d3f4de
>> >
>> > --
>> > --
>> > Before posting, please read
>> https://github.com/watir/watir_meta/wiki/Guidelines-for-Posting-to-Watir-General-Google-Group
>> .
>> > In short: search before you ask, be nice.
>> >
>> > [email protected] <javascript:>
>> > http://groups.google.com/group/watir-general
>> > [email protected] <javascript:>
>> > ---
>> > You received this message because you are subscribed to the Google
>> Groups "Watir General" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to [email protected] <javascript:>.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> --
>> Before posting, please read
>> https://github.com/watir/watir_meta/wiki/Guidelines-for-Posting-to-Watir-General-Google-Group.
>>
>>
>> In short: search before you ask, be nice.
>>
>> [email protected] <javascript:>
>> http://groups.google.com/group/watir-general
>> [email protected] <javascript:>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Watir General" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
--
--
Before posting, please read
https://github.com/watir/watir_meta/wiki/Guidelines-for-Posting-to-Watir-General-Google-Group.
In short: search before you ask, be nice.
[email protected]
http://groups.google.com/group/watir-general
[email protected]
---
You received this message because you are subscribed to the Google Groups
"Watir General" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.