2011-09-18 149 views
1

我正在嘗試使用rspec和watir來做一些tdd並遇到了一個我似乎無法通過的問題。我想要點擊一個鏈接(target =「_ blank」),然後獲取新加載頁面的URL。 Watir點擊鏈接,但當我嘗試獲取網址時,我收到的舊網址不是當前網址。 Watir文檔似乎表明瀏覽器url方法將返回當前的url。我發現了一篇博客文章,似乎通過讓Watir執行一些JavaScript來獲取當前網址來解決這個問題,但這不適用於我。無論如何,從Watir點擊鏈接獲取當前網址?瀏覽器網址不返回新的網址

<!-- the html --> 
<a href="http://www.linkedin.com" target="_blank">LinkedIn</a> 

#The rspec code 
it "should load LinkedIn" do 
    browser.link(:href => "http://www.linkedin.com").click 
    browser.url.should == "http://www.linkedin.com" 
end 

回答

2

目標將加載鏈接在新的瀏覽器窗口,因此,你需要切換到該窗口斷言網址:

it "should load LinkedIn" do 
    browser.link(:href => "http://www.linkedin.com").click 
    browser.window(:title => /.*LinkedIn.*/).use do 
    browser.url.should == "http://www.linkedin.com" 
    end 
end 

參見:http://watirwebdriver.com/browser-popups/更多的例子

+0

謝謝!我沒有意識到我需要切換到新窗口。 – binaryFever