OK, so it looks like I'm having the same problem.
Frame: id="mainControlFrame"
List in the frame:
<select size="4" name="provList" id="provList" onChange="onChange()"
ondblclick="onOkClick()">
<option value="9">Alberta</option>
<option value="10">British Columbia</option>
<option value="7">Manitoba</option>
<option value="4">New Brunswick</option>
<option value="1">Newfoundland</option>
<option value="6">Ontario</option>
</select>
There is an OK button below this in a table cell.
watir code I'm using:
provsel.frame(:id, "mainControlFrame").select_list(:id,
"provList").select("New Brunswick")
provsel.frame(:id, "mainControlFrame").td(:text, "OK).click_no_wait
There is code prior to this that runs smooth, but as soon as it hits the
"select" statement, the list box turns yellow, and nothing gets done.
Eventually, if I leave it long enough, I get the same error: Stack level
too deep.
On Wednesday, 17 October 2012 20:58:46 UTC-4, Champ wrote:
> Ok. Here is the html for the select_list that was found.
>
> ======== searching
> ======== found: <SELECT style="BACKGROUND-COLOR: yellow" class=NORMDATA
> size=1 name=filter> <OPTION selected value=""><OPTION
> style="BACKGROUND-COLOR: yellow" value=Y>Active<OPTION
> value=N>In-Active</OPTION></SELECT>
> E
>
> ===============================================================================
> Error: test_01
> SystemStackError: stack level too deep
>
> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129
>
> ===============================================================================
>
> On Wednesday, October 17, 2012 4:04:34 PM UTC-4, Jarmo Pertman wrote:
>>
>> Replace the "found" like to this:
>> puts "======== found: #{found_select.html}"
>>
>> Jarmo
>>
>> On Tuesday, October 16, 2012 7:49:11 PM UTC+3, Champ wrote:
>>>
>>> Jarmo,
>>>
>>> I tried with the code that you shared. The select_list does get
>>> identified but shows id: and not the element and I get the stack error
>>> message below. This might be the cause
>>>
>>> ******************************************************
>>> ======== searching
>>> ======== found: id:
>>> E
>>>
>>> ===============================================================================
>>> Error: test_01
>>> SystemStackError: stack level too deep
>>>
>>> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129
>>>
>>> On Tuesday, October 16, 2012 11:31:49 AM UTC-4, Jarmo Pertman wrote:
>>>>
>>>> That's just strange. I don't see any reasons why this code ought to go
>>>> turn into stack overflow. However if you change the line to
>>>> ole_object.focus then sometimes select list onChange event won't be
>>>> triggered. It would be awesome if you'd figure it out what exactly goes
>>>> into endless loop there and how to reproduce it. E.g. does the select_list
>>>> itself get found in change_selected? You can find that out by changing the
>>>> code to something like this:
>>>>
>>>> def change_selected(value)
>>>> puts "======== searching"
>>>> found_select = select_list
>>>> puts "======== found: #{found_select}"
>>>> found_select.focus
>>>> puts "======== focused"
>>>> ole_object.selected = value
>>>> puts "======== selected"
>>>> found_select.dispatch_event("onChange")
>>>> puts "======== dispatched"
>>>> @container.wait
>>>> puts "======== waiting done"
>>>> end
>>>>
>>>> Jarmo
>>>>
>>>>
>>>> On Monday, October 15, 2012 10:44:48 PM UTC+3, Champ wrote:
>>>>>
>>>>> After trying a long time, I figured that the cause of error is the
>>>>> change_selected method in the input_elements.rb. I am not sure if this
>>>>> impacts anything else. However, changing the select_list.focus to
>>>>> ole_object.focus seems to have resolved the issue for me.
>>>>>
>>>>> Any inputs/comments?
>>>>>
>>>>> On Monday, October 15, 2012 2:29:51 PM UTC-4, Jarmo Pertman wrote:
>>>>>>
>>>>>> Can you open up the url set in your iframe directly with watir and
>>>>>> try that select_list code directly without being in an iframe? Can you
>>>>>> try
>>>>>> if swapping the order of your select list codes will make any difference
>>>>>> -
>>>>>> e.g. if you try to select the failing select list first and then the one
>>>>>> which passes currently?
>>>>>>
>>>>>> Also, set $DEBUG=true before that failing select list, maybe you will
>>>>>> get some other additional information. It is really hard to go from here
>>>>>> if
>>>>>> there's no additional information as to why it might be happening for
>>>>>> you :(
>>>>>>
>>>>>> Jarmo Pertman
>>>>>> -----
>>>>>> IT does really matter - http://itreallymatters.net
>>>>>>
>>>>>>
>>>>>> On Monday, October 15, 2012 4:59:47 PM UTC+3, Champ wrote:
>>>>>>>
>>>>>>> Changing the search_filter to a non-blank too shows the same error
>>>>>>> message.
>>>>>>>
>>>>>>> Not sure of how to go about this. There are quite a lot of
>>>>>>> select_lists in the application and this is a showstopper :(.
>>>>>>>
>>>>>>> On Sunday, October 14, 2012 5:12:21 AM UTC-4, Jarmo Pertman wrote:
>>>>>>>>
>>>>>>>> And this is the only line in the stacktrace? Strange. But maybe it
>>>>>>>> has something to do with the empy search_filter. Try to put there
>>>>>>>> anything
>>>>>>>> else to see if that makes any difference.
>>>>>>>>
>>>>>>>> Jarmo Pertman
>>>>>>>> -----
>>>>>>>> IT does really matter - http://itreallymatters.net
>>>>>>>>
>>>>>>>>
>>>>>>>> On Saturday, October 13, 2012 7:59:09 PM UTC+3, Champ wrote:
>>>>>>>>>
>>>>>>>>> search_by="ARC"
>>>>>>>>> search_filter=""
>>>>>>>>>
>>>>>>>>> There is no backtrace to point to the origin of the message. Only
>>>>>>>>> error it shows is *SystemStackError: stack level too deep*
>>>>>>>>> *
>>>>>>>>> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129
>>>>>>>>> *
>>>>>>>>> *
>>>>>>>>> *
>>>>>>>>> Thats the reason I am finding it hard to debug.
>>>>>>>>>
>>>>>>>>> -Champ
>>>>>>>>>
>>>>>>>>> On Saturday, October 13, 2012 6:12:33 AM UTC-4, Jarmo Pertman
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> What is the value of search_filter and search_by for example?
>>>>>>>>>> Also, please share the whole backtrace of that error and not the one
>>>>>>>>>> line.
>>>>>>>>>>
>>>>>>>>>> Jarmo Pertman
>>>>>>>>>> -----
>>>>>>>>>> IT does really matter - http://itreallymatters.net
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Saturday, October 13, 2012 1:13:47 AM UTC+3, Champ wrote:
>>>>>>>>>>>
>>>>>>>>>>> It is a normal selectlist and I use the following command. The
>>>>>>>>>>> page has 2 selectlists side by side. The first one gets selected
>>>>>>>>>>> and the
>>>>>>>>>>> second one hangs and shows the error.
>>>>>>>>>>>
>>>>>>>>>>> My watir code looks like this.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> @ie.frame(:id, "application_frame").select_list(:name,
>>>>>>>>>>> "searchcol").select(search_by) (This works fine)
>>>>>>>>>>> @ie.frame(:id, "application_frame").select_list(:name,
>>>>>>>>>>> "filter").select(search_filter) (This fails)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Friday, October 12, 2012 3:20:15 PM UTC-4, Champ wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I am on Ruby 1.9.2 and watir-classic 3.2
>>>>>>>>>>>>
>>>>>>>>>>>> I get the following error when I try to select an item from the
>>>>>>>>>>>> selectlist.
>>>>>>>>>>>>
>>>>>>>>>>>> The selectlist gets highlighted in yellow and then hangs.
>>>>>>>>>>>> Nothing happens. But after a while I see an error message as
>>>>>>>>>>>> below, without
>>>>>>>>>>>> indication of the origin of the error.
>>>>>>>>>>>>
>>>>>>>>>>>> * SystemStackError: stack level too deep*
>>>>>>>>>>>> *
>>>>>>>>>>>> C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.2.0/lib/watir-classic/locator.rb:129
>>>>>>>>>>>> *
>>>>>>>>>>>>
>>>>>>>>>>>> The fix to this is very critical. Any help in this regard is
>>>>>>>>>>>> greatly appreciated.
>>>>>>>>>>>>
>>>>>>>>>>>> -Champ
>>>>>>>>>>>>
>>>>>>>>>>>
--
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]