I have already read this thread , thank you.

On Tue 7 Aug, 2018, 11:44 PM Titus Fortner, <titusfort...@gmail.com> wrote:

> The poc code for Watir::Executor has been sitting in the PRs for a year:
> https://github.com/watir/watir/pull/587
>
> I was going to wait until Watir 7 to release it, but I don't think there
> is anything backward-compatibility breaking in it, so I don't think I
> should technically need to wait for that.
>
>
>
>
> On Tue, Aug 7, 2018 at 10:58 AM rajagopalan madasami <
> rajagopalanmadas...@gmail.com> wrote:
>
>> I have created a framework where I specifically asked them to use click
>> and clickAndWait separately , click will simply performs the WATIR click,
>> clickAndWait will perform the WATIR click and call the function waitForLoad
>> as you have seen. So if such a hook is available that would be easy for me.
>>
>> On Tue 7 Aug, 2018, 11:24 PM Titus Fortner, <titusfort...@gmail.com>
>> wrote:
>>
>>> It's more than that when running remotely, though. Definitely use it if
>>> it makes sense regardless of local or remote, but if you've solved your
>>> issue by just wrapping the select method, that's targeted and "better." :)
>>>
>>>
>>>
>>> On Tuesday, August 7, 2018 at 10:41:36 AM UTC-7, Justin Ko wrote:
>>>>
>>>> I agree that adding it to the after hooks adds overhead. Though at
>>>> 0.015s per click, it's not the worst thing in the world.
>>>>
>>>> I worked on one application where almost every button/link click
>>>> triggered a loading overlay. Creating a method for each button/link to add
>>>> the wait would defeat the purpose of using the Page Object gem. As with
>>>> anything, the "better way" really depends on the application you're 
>>>> testing.
>>>>
>>>> Justin
>>>>
>>>>
>>>> On Tuesday, August 7, 2018 at 1:00:37 PM UTC-4, rajagopal...@gmail.com
>>>> wrote:
>>>>>
>>>>> Okay, I will be waiting for that then! There was a new project in my
>>>>> company for which I convinced them to use WATIR instead of Selenium where 
>>>>> I
>>>>> had to implement this waiting behavior! Okay excited to see this new
>>>>> feature to be added!   Thanks.
>>>>>
>>>>> On Tuesday, August 7, 2018 at 10:24:55 PM UTC+5:30, Titus Fortner
>>>>> wrote:
>>>>>>
>>>>>> you'll be able to specify the exact desired behaviours in a more
>>>>>> granular way
>>>>>>
>>>>>> On Tue, Aug 7, 2018, 9:53 AM <rajagopal...@gmail.com> 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 <rajagopal...@gmail.com> 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 <rajagopal...@gmail.com> 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,
>>>>>>>>>>>> rajagopal...@gmail.com 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 <hishin...@gmail.com>
>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> > watir-...@googlegroups.com
>>>>>>>>>>>>>>> > http://groups.google.com/group/watir-general
>>>>>>>>>>>>>>> > watir-genera...@googlegroups.com
>>>>>>>>>>>>>>> > ---
>>>>>>>>>>>>>>> > 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 watir-genera...@googlegroups.com.
>>>>>>>>>>>>>>> > 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.
>>>>>>>>>>>
>>>>>>>>>>> watir-...@googlegroups.com
>>>>>>>>>>> http://groups.google.com/group/watir-general
>>>>>>>>>>> watir-genera...@googlegroups.com
>>>>>>>>>>> ---
>>>>>>>>>>> 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 watir-genera...@googlegroups.com.
>>>>>>>>>>> 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.
>>>>>>>>>
>>>>>>>>> watir-...@googlegroups.com
>>>>>>>>> http://groups.google.com/group/watir-general
>>>>>>>>> watir-genera...@googlegroups.com
>>>>>>>>> ---
>>>>>>>>> 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 watir-genera...@googlegroups.com.
>>>>>>>>> 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.
>>>>>>>
>>>>>>> watir-...@googlegroups.com
>>>>>>> http://groups.google.com/group/watir-general
>>>>>>> watir-genera...@googlegroups.com
>>>>>>> ---
>>>>>>> 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 watir-genera...@googlegroups.com.
>>>>>>> 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.
>>>
>>> watir-general@googlegroups.com
>>> http://groups.google.com/group/watir-general
>>> watir-general+unsubscr...@googlegroups.com
>>> ---
>>> 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 watir-general+unsubscr...@googlegroups.com.
>>> 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.
>>
>> watir-general@googlegroups.com
>> http://groups.google.com/group/watir-general
>> watir-general+unsubscr...@googlegroups.com
>> ---
>> 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 watir-general+unsubscr...@googlegroups.com.
>> 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.
>
> watir-general@googlegroups.com
> http://groups.google.com/group/watir-general
> watir-general+unsubscr...@googlegroups.com
> ---
> 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 watir-general+unsubscr...@googlegroups.com.
> 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.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com
--- 
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 watir-general+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to