远程Selenium WebDriver没有响应Cucumber测试

时间:2011-02-05 18:13:14

标签: macos ubuntu selenium cucumber capybara

我已经在黄瓜中设置了一个功能,并使用@javascript标签让它在selenium中运行 在我的开发机器上,selenium运行正常,但因为webdriver不支持osx上的本机事件,但我需要将它连接到运行ubuntu的虚拟机

我的ubuntu机器上运行了webdriver服务器

并黑客攻击了我的水豚驱动程序,因此它连接到远程服务器,如下所示:

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 :(得分:0)

我不确定是什么原因导致您的具体问题。但是你应该使用内置机制注册你的驱动程序:

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