1

我正在尝试使用 rspec 和 watir 来做一些 tdd 并且遇到了一个我似乎无法解决的问题。我想让 watir 单击一个链接(target="_blank"),然后获取新加载页面的 url。Watir 单击该链接,但是当我尝试获取该 url 时,我收到的是旧的 url 而不是当前的。Watir 文档似乎表明 Browser url 方法将返回当前 url。我发现一篇博客文章似乎通过让 Watir 执行一些 javascript 来获取当前 url 来解决这个问题,但这对我不起作用。无论如何可以从与 Watir 的链接单击中获取当前 url?

<!-- 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
4

1 回答 1

2

目标将在新的浏览器窗口中加载链接,因此您需要切换到该窗口以声明 url:

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/

于 2011-09-18T12:00:13.543 回答