URL браузера не возвращает новый URL - PullRequest
1 голос
/ 18 сентября 2011

Я экспериментирую с использованием rspec и watir для выполнения некоторых тдд и натолкнулся на проблему, с которой я не могу справиться.Я хочу, чтобы watir щелкнул ссылку (target = "_ blank"), а затем получил URL новой загруженной страницы.Watir нажимает на ссылку, но когда я пытаюсь получить URL, я получаю старый URL, а не текущий.Похоже, что документы Watir указывают, что метод URL браузера возвращает текущий URL.Я нашел сообщение в блоге, которое, похоже, решает эту проблему, выполняя Watir какой-то javascript для получения текущего URL, но это не работает для меня.Есть ли в любом случае, чтобы получить текущий 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 Ответ

2 голосов
/ 18 сентября 2011

Цель загрузит ссылку в новом окне браузера, поэтому вам нужно переключиться на это окно, чтобы подтвердить 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/ для дополнительных примеров

...