2013-04-30 71 views
1

我對Watir完全陌生,試圖找出基本知識,以便我們可以使用它來測試我們的網站。Watir在第一次跳轉後丟失了瀏覽器連接

問題是,在我做了第一個browser.goto之後的'Watir在5分鐘內'之後,我似乎失去了與瀏覽器窗口的連接。 窗口仍然存在,但我不能再從irb「命令」它。

C:\>irb 
DL is deprecated, please use Fiddle 
irb(main):001:0> require "watir-webdriver" 
=> true 
irb(main):002:0> ie = Watir::Browser.new :ie 
Started InternetExplorerDriver server (32-bit) 
2.32.3.0 
Listening on port 5555 
=> #<Watir::Browser:0x..f3e539e40 url="http://localhost:5555/" title="WebDriver" 
> 
irb(main):003:0> ie.goto "google.com" 
=> "http://localhost:5555/" 
irb(main):004:0> ie.goto "stackoverflow.com" 
Selenium::WebDriver::Error::NoSuchWindowError: Unable to get browser 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/response.rb:52:in `assert_ok' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/response.rb:15:in `initialize' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/http/common.rb:59:in `new' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/http/common.rb:59:in `create_response' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/http/default.rb:66:in `request' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/http/common.rb:40:in `call' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/bridge.rb:619:in `raw_execute' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/bridge.rb:597:in `execute' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/remote/bridge.rb:103:in `get' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.32.1/l 
ib/selenium/webdriver/common/navigation.rb:14:in `to' 
     from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/watir-webdriver-0.6.4/lib/w 
atir-webdriver/browser.rb:77:in `goto' 
     from (irb):4 
     from C:/Ruby200-x64/bin/irb:12:in `<main>' 
irb(main):005:0> 

我使用Win7的X64和Ruby的x64而是一個32位的IE:

我剛剛得到這個錯誤。

+0

請發佈一些代碼..你有多個窗口打開同一瀏覽器時運行? (儘管這不應該引起問題)。在每個瀏覽器中都是同樣的問題嗎?你嘗試過FF還是Chrome? – 2013-04-30 11:53:07

+0

我已經更新了代碼片段,但實際上沒有任何代碼。我在交互式shell中做了一個轉到,然後是另一個轉到。 – Nicolai 2013-04-30 13:00:01

+1

當您在具有不同信任級別的網站之間移動時,IE會執行一些非常奇怪的事情。這是一個安全的事情,並取決於IE版本。實際上,我認爲它會關閉一個,並在運行中打開另一個瀏覽器實例,以防止訪問會話cookie等。我認爲這會導致您從瀏覽器斷開連接。 – 2013-05-08 23:41:24

回答

2

請確保您訪問的所有網站以及您的默認主頁位於相同的安全區域(例如「可信」),並查看是否有所作爲。