you'll be able to specify the exact desired behaviours in a more granular
way

On Tue, Aug 7, 2018, 9:53 AM <[email protected]> wrote:

> Oh okay. But you said
>
> The Executor class when implemented will open up a lot more flexibility.
>
>
> So will it be lesser wire call after Executor class implemented? Can I add
> after that?
>
> On Tuesday, August 7, 2018 at 10:18:51 PM UTC+5:30, Titus Fortner wrote:
>>
>> No, your way is better if it is working for you. Adding it to the after
>> hook will add a ton more unnecessary calls to your code.
>>
>>
>> On Tue, Aug 7, 2018 at 9:38 AM <[email protected]> wrote:
>>
>>> That will be interesting, I am using as shown below,
>>>
>>>>
>>>> def selectAndWait(locator, value)
>>>>   select locator, value
>>>>   waitForPageLoad
>>>> end
>>>>
>>>> def waitForPageLoad
>>>>   @b.wait_until(timeout: @Page_Load) {@b.execute_script("return 
>>>> (jQuery.active === 0)").eql? true}
>>>> end
>>>>
>>>>
>>>
>>> Let me try using this `after_hook`, a very interesting idea indeed.
>>> On Tuesday, August 7, 2018 at 9:59:47 PM UTC+5:30, Titus Fortner wrote:
>>>>
>>>> after any action that changes or is likely to change the dom, so it can
>>>> get heavy if overused. The Executor class when implemented will open up a
>>>> lot more flexibility.
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Aug 7, 2018, 9:27 AM <[email protected]> wrote:
>>>>
>>>>> Ah! that's pretty interesting, I was not knowing this. So you say Once
>>>>> I have written this code, this code will be executed after every click I
>>>>> do?
>>>>>
>>>>> On Tuesday, August 7, 2018 at 9:54:17 PM UTC+5:30, Titus Fortner wrote:
>>>>>>
>>>>>> jquery_wait = lambda { |br| br.wait_until { |b|
>>>>>> b.execute_script('return jQuery.active == 0') } }
>>>>>> browser.after_hooks.add(jquery_wait)
>>>>>>
>>>>>>
>>>>>> On Tuesday, August 7, 2018 at 9:17:32 AM UTC-7,
>>>>>> [email protected] wrote:
>>>>>>>
>>>>>>> Hi Justin,
>>>>>>>
>>>>>>> We are also using this wait_for_ajax in one of our Project. You said
>>>>>>>
>>>>>>> I would suggest adding the jQuery.active check to your browser's
>>>>>>>> after_hooks. Ideally this would catch all (or at least most) of the
>>>>>>>> problems.
>>>>>>>>
>>>>>>>
>>>>>>> May I know how to do this?
>>>>>>>
>>>>>>> On Tuesday, August 7, 2018 at 9:37:42 PM UTC+5:30, Justin Ko wrote:
>>>>>>>>
>>>>>>>> The #wait_for_ajax simplifies things if you need to manually call
>>>>>>>> it. However, it sounds like you would have to sprinkle this everywhere.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Note that there would be a small performance hit of making this
>>>>>>>> check after each click/goto. However, if it's an AJAX heavy 
>>>>>>>> application,
>>>>>>>> it's probably worth it.
>>>>>>>>
>>>>>>>> Justin
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tuesday, August 7, 2018 at 11:36:54 AM UTC-4, Titus Fortner
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Found it
>>>>>>>>>
>>>>>>>>> See the section on Waiting for AJAX Calls here:
>>>>>>>>> http://cheezyworld.com/2012/02/23/page-object-0-6-2-released/
>>>>>>>>> let's you call `wait_for_ajax` where you want it.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Aug 7, 2018 at 7:43 AM NaviHan <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>> >
>>>>>>>>> > Yes Justin, That was exactly what happened. I ran the script a
>>>>>>>>> few times and using "Watir::Wait.until(timeout: 30)
>>>>>>>>> {@browser.execute_script('return jQuery.active == 0')}" never gave me 
>>>>>>>>> the
>>>>>>>>> error "
>>>>>>>>> >
>>>>>>>>> > Element <span class="swatchanchor-value">...</span> is not
>>>>>>>>> clickable at point (537, 362). Other element would receive the click: 
>>>>>>>>> <div
>>>>>>>>> class="loader-bg"></div>"
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > The code is
>>>>>>>>> >
>>>>>>>>> > def select_online_size (size)
>>>>>>>>> >   Watir::Wait.until(timeout: 30)
>>>>>>>>> {@browser.execute_script('return jQuery.active == 0')}
>>>>>>>>> >   sizes_online_elements.find {|el| el.when_present.text.eql?
>>>>>>>>> size}.click
>>>>>>>>> > end
>>>>>>>>> >
>>>>>>>>> > I was expecting that the "when_present" method would not give
>>>>>>>>> any timing issue because this waits until the element is present. 
>>>>>>>>> Somehow
>>>>>>>>> this evaulates to true at the same time the spinner which is loading 
>>>>>>>>> while
>>>>>>>>> the Ajax is running receives the click.
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > Is there a PO way to resolve this , I mean without having to use
>>>>>>>>> the "jQuery" statement
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > Cheers
>>>>>>>>> >
>>>>>>>>> > Navi
>>>>>>>>> >
>>>>>>>>> > On Friday, 3 August 2018 15:12:45 UTC+10, NaviHan wrote:
>>>>>>>>> >>
>>>>>>>>> >> I have a functionality where I click an a link from an email a
>>>>>>>>> voucher gets added to the shopping cart and a pop up appears with a
>>>>>>>>> message. Im trying to assert the text in the popup
>>>>>>>>> >> I have defined the element as
>>>>>>>>> >>
>>>>>>>>> >> div(:cta_description, :css =>
>>>>>>>>> '.homepage-clicktoactiavte-description')
>>>>>>>>> >>
>>>>>>>>> >> Tried to use a mix of Watir and Pageobejct to read the text.
>>>>>>>>> The below code works 5 out of 10 times.
>>>>>>>>> >>
>>>>>>>>> >> @rewards_popup_txt =
>>>>>>>>> Watir::Wait.until{cta_description_element}.text
>>>>>>>>> >> @rewards_popup_txt =
>>>>>>>>> @rewards_popup_txt.gsub(/[^$,.A-Za-z0-9]/," ")
>>>>>>>>> >> return @rewards_popup_txt
>>>>>>>>> >>
>>>>>>>>> >>
>>>>>>>>> >> Tried using, which doesnt even set the @reward_popup_txt and
>>>>>>>>> shows error
>>>>>>>>> >>
>>>>>>>>> >>
>>>>>>>>> >> if (Watir::Wait.while {cta_description_element.visible?})
>>>>>>>>> >>   @rewards_popup_txt = cta_description_element.text
>>>>>>>>> >> end
>>>>>>>>> >> @rewards_popup_txt =
>>>>>>>>> @rewards_popup_txt.gsub(/[^$,.A-Za-z0-9]/," ")
>>>>>>>>> >> return @rewards_popup_txt
>>>>>>>>> >>
>>>>>>>>> >> Error
>>>>>>>>> >> NoMethodError: undefined method `gsub' for nil:NilClass
>>>>>>>>> >>
>>>>>>>>> ./features/support/pages/Frontend/Cotton_On/Loyalty_Page.rb:22:in
>>>>>>>>> `rewards_popup_description'
>>>>>>>>> >>
>>>>>>>>> >> Any stable way to do the job?
>>>>>>>>> >
>>>>>>>>> > --
>>>>>>>>> > --
>>>>>>>>> > 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.
>>>>>>>>>
>>>>>>>> --
>>>>> --
>>>>> 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.
>>>>>
>>>> --
>>> --
>>> 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.
>>>
>> --
> --
> 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.
>

-- 
-- 
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.

Reply via email to