Remote Selenium WebDriver не отвечает на тесты Cucumber - PullRequest
0 голосов
/ 05 февраля 2011

Я настроил функцию в cucumber и использую тег @javascript, чтобы он работал в селене. На моей машине dev селен работает нормально, но поскольку webdriver не поддерживает собственные события в osx, мне нужно его подключитьк виртуальной машине под управлением Ubuntu

У меня на сервере Ubuntu запущен сервер вебдрайвера

, и я взломал мой драйвер капибары так, чтобы он подключился к удаленному серверу следующим образом:

def browser
  unless @browser

    @browser = Selenium::WebDriver.for(:remote, :url => "http://192.168.1.69:4444/wd/hub", 
      :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.firefox)
    #@browser = Selenium::WebDriver.for(options.delete(:browser) || :firefox, options)
    at_exit do
      @browser.quit
    end
  end
  @browser
end

Когда я запускаю тест, консоль на моей виртуальной машине показывает что-то происходящее и выводит:

Удаленный сервер WebDriver: INFO выполняется ....

Но на этом тест не пройденчерез некоторое время из-за тайм-аута

Есть идеи?

1 Ответ

0 голосов
/ 15 февраля 2011

Я не уверен, что является причиной вашей конкретной проблемы.Но вы должны зарегистрировать свой драйвер, используя встроенный механизм:

profile = Selenium::WebDriver::Firefox::Profile.new
profile["network.http.use-cache"] = false

Capybara.register_driver :firefox_ubuntu do |app|
  Capybara::Driver::Selenium.new(app,
    :browser => :remote,
    :url => 'http://192.168.1.69:4444/wd/hub',
    :desired_capabilities =>     Selenium::WebDriver::Remote::Capabilities.firefox(:firefox_profile => profile)
  )
end

, а затем вы можете переключиться на него, используя обычный механизм:

Capybara.current_dirver :firefox_ubuntu
...