[wtr-general] Re: Is there an autogenerated method in page-object that tell if the element is present?
Hi Justin Sorry to comeback on this thread. Today I was just trying to understand this piece of code. I have also read your thread here https://stackoverflow.com/questions/36192357/is-there-a-way-to-define-a-text-field-element-type-that-does-send-key-as-default-set Im confused about the methods named "accessor_methods" Could you please explain a bit about the accessor_methods to define additional methods that will be created for the page object? Is that a feature of Ruby? On Friday, 1 February 2019 00:11:33 UTC+11, NaviHan wrote: > > I have an element defined as > > div(:reward_history, :class => 'reward-history-header') > > > The page-object gem generated four methods for this element which are > > > 'reward_history', 'reward_history_element', and 'reward_history?' > > > > The fourth method 'reward_history?' check if the element exists in the > DOM? > > > But what if the element exists in the DOM but is hidden, which is > basically checking if the element is present? > > > Is there an autogenerated method for this? > > I tried 'reward_history(:?)' but didn't work > > As of now I have to write a method separately which does this > > def is_reward_history_present? > return reward_history_element.present? > end > > > > -- -- 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.
[wtr-general] Re: What is the default element and page wait in Watir. Do we have to explicitly set PageObject.default_element_wait?
In fact I have printed three classes puts applied_voucher_list_element.class puts applied_voucher_list_element.element.class puts applied_voucher_list_element.wait_until(&:present?).class and got PageObject::Elements::Div Watir::Div Watir::Div How is applied_voucher_list_element.wait_until(&:present?).class returning Watir::Div? This should have been calling the wait_until methods of PageObject calss and returned PageObject::Div? On Monday, 15 April 2019 09:29:57 UTC+10, NaviHan wrote: > > The automation code in our project uses PageObject and yesterday's nightly > build shows a failure. > > [31m timed out after 10 seconds, waiting for true condition on > #"slide-dialog-container-cart-page", > :tag_name=>"div"}> (Watir::Wait::TimeoutError) [0m > > > On checking hooks I found a statement > > PageObject.default_element_wait=(10) > > > As per my undersatnding Watir has its own inbuilt page and element level > waits which is a default of 30 seconds? > And the above statement over rides that to 10 seconds? > > Please correct me if Im wrong. > > Cheers > -- -- 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.
[wtr-general] Re: What is the default element and page wait in Watir. Do we have to explicitly set PageObject.default_element_wait?
Hi Justin Also please note the error I was getting as I mention in the original post [31m timed out after 10 seconds, waiting for true condition on #"slide-dialog-container-cart-page", :tag_name=>"div"}> (Watir::Wait::TimeoutError) [0m Watir::Div timed out after 10 seconds. The 10 seconds because I was using defualt_element_wait.Which doesn't match PageObject.default_element_wait=(10) On Monday, 15 April 2019 09:29:57 UTC+10, NaviHan wrote: > > The automation code in our project uses PageObject and yesterday's nightly > build shows a failure. > > [31m timed out after 10 seconds, waiting for true condition on > #"slide-dialog-container-cart-page", > :tag_name=>"div"}> (Watir::Wait::TimeoutError) [0m > > > On checking hooks I found a statement > > PageObject.default_element_wait=(10) > > > As per my undersatnding Watir has its own inbuilt page and element level > waits which is a default of 30 seconds? > And the above statement over rides that to 10 seconds? > > Please correct me if Im wrong. > > Cheers > -- -- 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.
[wtr-general] Re: What is the default element and page wait in Watir. Do we have to explicitly set PageObject.default_element_wait?
Hi Justin It a bit confusing... For example I have defined a PageObject element as div(:applied_voucher_list, :class => 'applied-evouchers') When I print the class of it puts applied_voucher_list_element.wait_until(&:present?).class Im getting Watir::Div I would expect this to return PageObject::Div? On Monday, 15 April 2019 09:29:57 UTC+10, NaviHan wrote: > > The automation code in our project uses PageObject and yesterday's nightly > build shows a failure. > > [31m timed out after 10 seconds, waiting for true condition on > #"slide-dialog-container-cart-page", > :tag_name=>"div"}> (Watir::Wait::TimeoutError) [0m > > > On checking hooks I found a statement > > PageObject.default_element_wait=(10) > > > As per my undersatnding Watir has its own inbuilt page and element level > waits which is a default of 30 seconds? > And the above statement over rides that to 10 seconds? > > Please correct me if Im wrong. > > Cheers > -- -- 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.
[wtr-general] Re: What is the default element and page wait in Watir. Do we have to explicitly set PageObject.default_element_wait?
Hi Navi, 1) It would depend on who is calling the method - ie a Watir::Element vs a PageObject::Element. Generally you would be working with PageObject::Element, so you would be calling the Page-Object version. The recent versions of Page-Object forward missing methods directly to the Watir browser/element, which has clouded things a bit. For finding elements you can technically call Watir methods directly, which returns Watir::Elements, which means you would get Watir's version of the method. If you want to double-check which version is being called, check the class of your caller. 2) Calling `element.exists?` will not do any waiting - neither Watir or Page-Object's timeouts will apply. The default_element_wait will only apply if you did page-object's #check_exists (returns true as soon as the element exists, otherwise returns false when the timeout has elapsed). Justin On Tuesday, April 16, 2019 at 1:05:27 AM UTC-4, NaviHan wrote: > > Hi Justin > > I have two questions here.. > > 1. > Im use *wait_until(&:present) *a lot. > > I see *wait_until* is a method which is present in Watir and PageObject > and as you said *wait_until of PageObject *depends on > *default_element_wait* > > Do you know which method is invoked when I call a *wait_until(&:present) *the > Watir one or PageObject one? > > I have commented out *default_element_wait *in hooks. The nightly suite > hasnt run yet. So not sure about the impact. > > # PageObject.default_element_wait=(10) > > > So if the PageObject one is invoked then lots of tests will fail > 2. > > If I check for an elements existence like > *element.exists? * > As watir doesnt wait here do you suggest leaving default_element_wait to > say 30 seconds? > > Cheers > Navi > > > On Monday, 15 April 2019 09:29:57 UTC+10, NaviHan wrote: >> >> The automation code in our project uses PageObject and yesterday's >> nightly build shows a failure. >> >> [31m timed out after 10 seconds, waiting for true condition on >> #"slide-dialog-container-cart-page", >> :tag_name=>"div"}> (Watir::Wait::TimeoutError) [0m >> >> >> On checking hooks I found a statement >> >> PageObject.default_element_wait=(10) >> >> >> As per my undersatnding Watir has its own inbuilt page and element level >> waits which is a default of 30 seconds? >> And the above statement over rides that to 10 seconds? >> >> Please correct me if Im wrong. >> >> Cheers >> > -- -- 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.