titusfortner / webdrivers

Keep your Selenium WebDrivers updated automatically
MIT License
592 stars 113 forks source link

Support for ARM64 w/ Debian on Graviton EC2 Instances/ Docker Containers #212

Closed ryansdwilson closed 3 years ago

ryansdwilson commented 3 years ago

Summary

Context: ruby:2.7.2-slim container w/ apt-get install chromium fails to work with chromedriver

I suspect this is because there is no official build of chromedriver for ARM64. You can install it using apt-get install chromium-driver which installs Starting ChromeDriver 89.0.4389.114

Debug Info

Please provide the following information for bug reports:

1.1) Failure/Error: page.driver.browser.manage.window.resize_to(1792, 990)

  | [2021-04-12T13:12:22Z]   | [2021-04-12T13:12:22Z] Selenium::WebDriver::Error::WebDriverError:   | [2021-04-12T13:12:22Z] unable to connect to chromedriver 127.0.0.1:9515   | [2021-04-12T13:12:22Z] # ./spec/support/libraries/capybara.rb:41:in block (2 levels) in <top (required)>'   | [2021-04-12T13:12:22Z]   | [2021-04-12T13:12:22Z] 1.2) Failure/Error: raise "Failed to make system call: #{cmd}" unless $CHILD_STATUS.success?   | [2021-04-12T13:12:22Z]   | [2021-04-12T13:12:22Z] RuntimeError:   | [2021-04-12T13:12:22Z] Failed to make system call: ["/root/.webdrivers/chromedriver", "--version"]   | [2021-04-12T13:12:22Z] # /app/vendor/bundle/ruby/2.7.0/gems/webdrivers-4.5.0/lib/webdrivers/system.rb:190:incall'

Expected Behavior

webdrivers to install chromedriver for arm

Actual Behavior

What is actually happening: Error message, stack trace, DEBUG log if applicable (set Webdrivers.logger.level = :DEBUG after you require webdrivers)   | [2021-04-12T13:12:22Z] 1.2) Failure/Error: raise "Failed to make system call: #{cmd}" unless $CHILD_STATUS.success?   | [2021-04-12T13:12:22Z]   | [2021-04-12T13:12:22Z] RuntimeError:   | [2021-04-12T13:12:22Z] Failed to make system call: ["/root/.webdrivers/chromedriver", "--version"]

kapoorlakshya commented 3 years ago

@ryansdwilson You are correct:

I suspect this is because there is no official build of chromedriver for ARM64.

This gem only works for platforms officially supported here: https://chromedriver.chromium.org/downloads (example)

Closing this for now, but feel free to create a new issue once ARM64 is officially supported and we'd consider supporting it.