我正在尝试使用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
答案 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/