小编Gil*_*Him的帖子

在 rails 项目上使用水豚和 selenium-webdriver 运行系统测试失败:由于 bridge.rb:44:in `handshake 中的 ArgumentError

我有以下水豚配置:

Capybara.register_driver :chrome_headless do |app|
  media_tab_screen_size = '1280,800'
  chrome_capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    loggingPrefs: {
      browser: 'ALL',
      client: 'ALL',
      driver: 'ALL',
      server: 'ALL'
    },
    chromeOptions: {
      args: %W[no-sandbox
               disable-dev-shm-usage
               no-default-browser-check
               start-maximized
               headless
               disable-gpu
               window-size=#{media_tab_screen_size}]
    }
  )
  if ENV['HUB_URL']
    Capybara::Selenium::Driver.new(app,
                                   browser: :remote,
                                   url: ENV['HUB_URL'],
                                   desired_capabilities: chrome_capabilities)
  else
    Capybara::Selenium::Driver.new(app,
                                   browser: :chrome,
                                   desired_capabilities: chrome_capabilities)
  end
end

RSpec.configure do |config|

    driven_by :chrome_headless

    # Sets host for tests with selenium
    Capybara.app_host = "http://#{IPSocket.getaddress(Socket.gethostname)}:3000"
    # Capybara.server = :puma # Until your setup is working
    Capybara.server_host = IPSocket.getaddress(Socket.gethostname)
    Capybara.server_port …
Run Code Online (Sandbox Code Playgroud)

selenium ruby-on-rails capybara docker

3
推荐指数
1
解决办法
501
查看次数

标签 统计

capybara ×1

docker ×1

ruby-on-rails ×1

selenium ×1