Not able to open new IE after it is closed. -------------------------------------------
Key: WTR-480 URL: http://jira.openqa.org/browse/WTR-480 Project: Watir Issue Type: Bug Components: Unit Tests Affects Versions: Soon Environment: Windows XP running IE7 Reporter: bhavesh Priority: Major Fix For: Soon Hi, I have to close IE and open new IE again in every testcase. I written an routine like this : def setupnew(current_component="") $ie.close if $ie sleep(10) $ie = Watir::IE.new() sleep(10) case current_component when "WEB_ADMIN" $ie.goto($adminLink) when "WEB_REPORT" $ie.goto($reportLink) when "WEB_SEARCH" $ie.goto($searchLink) else #puts "Setup case does not match" end end This works well in Ruby 1.8 Recently i upgrade to Ruby 1.9.2 and this routine start failing. It closes the IE if it is open but then not opening the new IE it just came out of script throwing error. Error coming out as : TestCaseNum: I18N_0001 Description: Add AD Authentication from Webadmin, for FIGS. E Finished in 0.468750 seconds. 1) Error: test_0001(TC_I18N): NoMethodError: unknown property or method: `name' HRESULT error code:0x800706ba The RPC server is unavailable. C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.8.1/lib/watir/ie- class.rb:319:in `method_missing' C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.8.1/lib/watir/ie- class.rb:319:in `exists?' C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.8.1/lib/watir/ie- class.rb:406:in `close' C:/IE_AUTOMATION/kazeon/qa/watir-v1_4-TIP/KazModules/I18N/ I18N_Regression.rb :47:in `setupnew' C:/IE_AUTOMATION/kazeon/qa/watir-v1_4-TIP/KazModules/I18N/ I18N_Regression.rb :102:in `test_0001' I got the problem but not the solution. In watir 1.6.7 which i use previously, code for ie.close is like this : #C:\ruby\lib\ruby\gems\1.8\gems\watir-1.6.7\lib\watir # Closes the Browser def close return unless exists? @closing = true @ie.stop wait rescue nil chwnd = @ie.hwnd.to_i @ie.quit while Win32API.new("user32","IsWindow", 'L', 'L').Call(chwnd) == 1 sleep 0.3 end end In watir 1.8.1 which i use now, code for ie.close is like this : C:\Ruby192\lib\ruby\gems\1.9.1\gems\watir-1.8.1\lib\watir # Closes the Browser def close return unless exists? @ie.stop wait rescue nil chwnd = @ie.hwnd.to_i @ie.quit t = Time.now while exists? # just in case to avoid possible endless loop if failing to close some # window or tab break if Time.now - t > 10 sleep 0.3 end end There is an change in code in 1.8.1. If i replace the piece of code for ie.close of version 1.6.7 in 1.8.1 file, the same routine starts working fine. So what needs to be done now to have this working with 1.8.1 code? Bhavesh -- 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 Wtr-development@rubyforge.org http://rubyforge.org/mailman/listinfo/wtr-development