[
http://jira.openqa.org/browse/WTR-472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=20079#action_20079
]
Jarmo Pertman commented on WTR-472:
-----------------------------------
It seems that the following code in ie-process.rb:
{noformat}
def window
Wait.until do
IE.each do | ie |
window = ie.ie
hwnd = ie.hwnd
process_id = Process.process_id_from_hwnd hwnd
return window if process_id == @process_id
end
end
end
{noformat}
Doesn't find the window - e.g. there's no process_id which is same as
@process_id. And in Ruby all methods return last statement's value if no
explicit "return" keywords are used. In this case the result will be Array of
all IE windows from IE.each.
The reason why the correct window is not found is related with some other bugs
where in ie-class.rb method "each" doesn't find the window:
{noformat}
shell = WIN32OLE.new('Shell.Application')
shell.Windows.each {|window| p window.path }
{noformat}
The following code above doesn't find all IE windows on win7 for example. I
guess the solution would not to use Shell.Application to find for all windows.
> Issues with Watir::IE::Process.start_process and new_process
> ------------------------------------------------------------
>
> Key: WTR-472
> URL: http://jira.openqa.org/browse/WTR-472
> Project: Watir
> Issue Type: Bug
> Components: Other
> Affects Versions: 1.6.7
> Environment: windows 7 IE 8
> Reporter: Alan Baird
> Priority: Major
>
> I noticed this on Ruby 1.8.7:
> {code}
> c:\>pik switch 1.8.7
> c:\>ruby -v
> ruby 1.8.7 (2010-08-16 patchlevel 302) [i386-mingw32]
> c:\>gem list watir
> *** LOCAL GEMS ***
> watir (1.7.0, 1.7.0.rc1, 1.6.7)
> c:\>irb --noreadline
> irb(main):001:0> require 'watir'
> => true
> irb(main):002:0> br = Watir::IE.new_process
> NoMethodError: undefined method `visible' for [#<Watir::IE:0x57f6900
> url="about:blank" title="">]:Array
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:230:in
> `visible='
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:170:in
> `initialize_options'
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:121:in
> `_new_process_init'
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:113:in
> `new_process'
> from (irb):2
> irb(main):003:0> br = Watir::IE.start_process
> NoMethodError: undefined method `visible' for [#<Watir::IE:0x57f2850
> url="about:blank" title="">]:Array
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:230:in
> `visible='
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:170:in
> `initialize_options'
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:121:in
> `_new_process_init'
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:113:in
> `new_process'
> from
> C:/ruby/Ruby-187-p302/lib/ruby/gems/1.8/gems/watir-1.7.0/lib/watir/ie-class.rb:128:in
> `start_process'
> from (irb):3
> {code}
> I'm not sure what is causing this. I don't see this behavior with 1.8.6.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.openqa.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Wtr-development mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-development