浏览器网址没有返回新的网址

时间:2011-09-18 06:23:56

标签: ruby rspec watir watir-webdriver

我正在尝试使用rspec和watir做一些tdd并遇到了一个我似乎无法过去的问题。我想让watir点击一个链接(target =“_ blank”),然后获取新加载页面的url。 Watir点击链接,但当我尝试获取网址时,我收到的旧网址不是当前的网址。 Watir文档似乎表明Browser url方法将返回当前url。我发现一篇博文似乎解决了这个问题,让Watir执行一些javascript来获取当前的url,但这对我不起作用。无论如何从链接点击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

1 个答案:

答案 0 :(得分: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/