Hi Titus, Yes I know it's a combination of both. I am saying my problem is not resolved. When I execute this line
b.text_field(:id,'innerVO@insuranceAmountVO@amount').set '12121' *It continuously refreshing the page, It's not entering any value, but it **continuously** clearing the text field and refreshing the page, it's not going after that. * On Friday, February 17, 2017 at 11:30:54 PM UTC+5:30, Titus Fortner wrote: > > Also, to clarify. In Watir `#set` is combination of `#clear` and > `#send_keys` for text editable elements. Everything that works for > Selenium's `#send_keys` will work for Watir's `#set`, so just make sure > you are using the method you need. > > > On Friday, February 17, 2017 at 11:50:34 AM UTC-6, Super Kevy wrote: >> >> Sounds resolved >> So it looks like you need to send a tab as the control probably has an >> onblur JS event tied to it. >> So with send_keys you can include special keys like :Home :Shift :End to >> select and :tab to move to the next focus >> I believe you can even add delays in the send_keys stream. >> >> browser.text_field.send_keys "hello", [:control, "a"], :backspace >> >> See: >> https://watirmelon.blog/2011/07/19/sending-special-keys-to-watir-webdriver/ >> >> http://www.rubydoc.info/github/watir/watir-classic/Watir%2FElement%3Asend_keys >> >> >> >> On Friday, February 17, 2017 at 5:36:11 AM UTC-6, Raja gopalan wrote: >>> >>> Hi Titus, >>> >>> Sorry for late reply! Your code which has been given in Stackoverflow is >>> a good catch but you are missing the crucial point that watir >>> text_field.set() method doesn't includes the tab So refresh doesn't start >>> until it moves on to the next field. >>> >>> But what happens actually is, I am writing the following code >>> >>> b.text_field(:id,'insuranceAmountVO@amount').set '12121' >>> >>> >>> But this code doesn't enter the date there instead, it continue to >>> locate that element and keep refreshing the page continuously without an >>> end. I have never seen this behavior so far. >>> >>> If I use this code(given below) send_keys instead of set >>> >>> b.text_field(:id,'insuranceAmountVO@amount').send_keys '12121' >>> >>> >>> It appends this value with already existing value in the text field. So >>> it's not entering the intended data as well. >>> >>> But all I want to say is, we are now using selenium using Java, it >>> perfectly enters the data but NOT using the below code >>> >>> driver.findElement(By.id("insuranceAmountVO@amount").send_keys "12121" >>> >>> >>> but using this customized code it enters perfectly >>> >>> selenium.typeAndTab "12121" >>> >>> >>> I went inside this function, but it's very huge and I couldn't figure >>> out what they are doing. >>> >>> And I have the select_list problem too but I will create a separate >>> question for that. Our selenium framework selects successfully but Watir >>> doesn't! (I will create separate thread for that) >>> >>> >>> >>> >>> On Tuesday, February 14, 2017 at 11:49:32 PM UTC+5:30, Titus Fortner >>> wrote: >>>> >>>> I updated my response on stack overflow if you didn't see it. >>>> >>>> On Tue, Feb 14, 2017 at 9:50 AM, Super Kevy <[email protected]> wrote: >>>> >>>>> So the issue occurs manually as well. That suggests maybe there is a >>>>> bug. Perhaps bad JS validation or field validation. >>>>> You can always put a static sleep as a work-around. Not elegant. >>>>> Change the sets to send keys and see if the behaviour alters. >>>>> >>>>> >>>>> On Monday, February 13, 2017 at 12:10:45 PM UTC-6, Raja gopalan wrote: >>>>>> >>>>>> Hi, I have replied to your post, I will page here as well >>>>>> >>>>>> Yes, that's what happen when we enter manually as well! >>>>>> >>>>>> I have posted in stack over flow as well. But here I want to details >>>>>> things, I am working in a insurance application, where cover screen >>>>>> consist >>>>>> of many textfield to enter insured amount, but after each entry to the >>>>>> text >>>>>> field, page is getting refreshed,but watir doesn't wait for page to be >>>>>> refreshed, it quickly goes into next text_field, but next field is not >>>>>> ready but watir enters the data, since page is getting refreshed in the >>>>>> mean time recent entry is getting deleted. This refresh is not happening >>>>>> not only text_field but for radio button as well(which cover to choose). >>>>>> >>>>>> I thought there is no solution to the problem but recently I have >>>>>> moved to selenium project where they have clearly managed this problem >>>>>> through JavaScript, they have a function called waitForPageToLoad, so >>>>>> after >>>>>> each entry they have called this function, So it waits until the page >>>>>> loads, It perfectly enters the data. So I thought I was missing the same >>>>>> kind of arrangement in WATIR, So If you can create the function called >>>>>> waitForPageToLoad, this would resolve this problem. >>>>>> >>>>>> >>>>>> On Monday, February 13, 2017 at 11:35:09 PM UTC+5:30, Titus Fortner >>>>>> wrote: >>>>>>> >>>>>>> Is that what happens when you do it manually? Watir is designed to >>>>>>> behave the same way as a user. You'll need to better explain what a >>>>>>> user >>>>>>> would do and how Watir is not doing it that way. >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Monday, February 13, 2017 at 12:01:55 PM UTC-6, Raja gopalan >>>>>>> wrote: >>>>>>>> >>>>>>>> My problem is after setting the value. Page is getting refreshed >>>>>>>> after setting the value. >>>>>>>> >>>>>>>> On Monday, February 13, 2017 at 9:09:18 AM UTC+5:30, Joe Fl wrote: >>>>>>>>> >>>>>>>>> Hi. >>>>>>>>> >>>>>>>>> I am not sure I follow what happens after the field is set but if >>>>>>>>> you need to wait for the text field you can use wait_until_present or >>>>>>>>> .present?. >>>>>>>>> >>>>>>>>> Joe >>>>>>>>> >>>>>>>>> On Feb 11, 2017 10:21 AM, "Raja gopalan" <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> There are certain kind of a text_field which I am automating, when >>>>>>>>> I place the value there like >>>>>>>>> >>>>>>>>> b.text_field(:id,'something').set 'hi' >>>>>>>>> >>>>>>>>> >>>>>>>>> It refresh the entire page or it reloads the page, but the above >>>>>>>>> code only wait until element present and place the value inside the >>>>>>>>> text >>>>>>>>> field but it doesn't take care of what happens after that. >>>>>>>>> >>>>>>>>> Is there any function I can write like given below, >>>>>>>>> >>>>>>>>> >>>>>>>>> b.text_field(:id,'something').set 'hi' >>>>>>>>> >>>>>>>>> b.waitForPageToLoad # Code like this? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> -- >>>>>>>>> Before posting, please read http://watir.com/support. 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 http://watir.com/support. 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 http://watir.com/support. 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.
