Я использовал 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)
Большое спасибо заранее за любую помощь.
Джоэл