Selenium 2 / WebDriver и Selenium Server - переключение окон дает одинаковый HTML - PullRequest
1 голос
/ 24 января 2012

Я использовал Selenium 2 / WebDriver через Ruby 1.9.2, и напрямую через FireFox он работает нормально.Я хотел использовать HtmlUnit, чтобы он был быстрее и без головы, поэтому я пытаюсь использовать selenium-server-standalone-2.17.0, так как теоретически это не требует никаких изменений кода, а также я хочу начать использовать Java / groovy с HtmlUnit.

Проблема в том, что половину или более раз тест не пройден, потому что когда я нажимаю кнопку и переключаю окна, HTML (и заголовок) в новом окне будет таким же , как иСтарый.

Я добавил множество отладочных выводов в свою функцию, чтобы попытаться сузить ее:

def switch_to_newest_window()
  assert(@driver.window_handles.size > 1, "only one window")
  print "switch to newest window, handles=#{@driver.window_handles}...\n"
  print "current handle: #{@driver.window_handle}\n"
  print "#{@driver.window_handles[0]}\n"
  print "#{@driver.window_handles[-1]}\n"
  print "title: #{@driver.title}\n"
  save_file("first.html", @driver.page_source)

  @driver.switch_to.window(@driver.window_handles[-1])

  print "new handle: #{@driver.window_handle}\n"
  print "new window title: #{@driver.title}\n"
  save_file("second.html", @driver.page_source)
end

И соответствующий вывод:

switch to newest window, handles=["36543124", "1755893858"]...
current handle: 1755893858
36543124
1755893858
title: Create FlowSet
new handle: 1755893858
new window title: Create FlowSet

Так что это правильно переключаетсяокна, но HTML то же самое!Если вы используете diff first.html и second.html, выходных данных нет.

Я также рубиновый нуб, поэтому я вполне могу делать что-то жестко / медленно или неправильно.

Прочие сведения: работает в Windows 7. Selenium Server server-standalone-2.17.0 Вывод сервера при запуске сеанса HtmlUnit: 13:03:12.292 INFO - Executing: [new session: {platform=ANY, javascriptEnabled=true, cssSelectorsEnabled=false, browserName=htmlunit, nativeEvents=false, rotatable=false, takesScreenshot=false, version=}] at URL: /session)

Большое спасибо заранее за любую помощь.

Джоэл

...