我试图在docker容器上以无头模式运行watir
chrome驱动程序。红宝石在轨道上。
这是我的docker config:
# https://github.com/codelittinc/dockerfiles/blob/master/ruby/Dockerfile
FROM ruby:2.2
# Mount any shared volumes from host to container @ /share
ENV HOME /home/rails/webapp
# Install dependencies and rails-api
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs xvfb chromium
WORKDIR $HOME
# Install gems
ADD Gemfile* $HOME/
RUN bundle install
ADD . $HOME
# Configure an entry point, so we don't need to specify
# "bundle exec" for each of our commands.
ENTRYPOINT ["bundle", "exec"]
CMD ["rails", "server", "--binding", "0.0.0.0"]
错误: 在浏览器初始化时出错:
?[33mapp_1 |?[0m NameError (uninitialized constant Watir::Browse):
?[33mapp_1 |?[0m
?[33mapp_1 |?[0m app/services/watir_test_service.rb:15:in `test_me'
?[33mapp_1 |?[0m app/controllers/watir_test_controller.rb:4:in `index'
类:
require 'rubygems'
require 'watir-webdriver'
require 'headless'
class Watir_test_service
def test_me
headless = Headless.new
browser = Watir::Browse.new :chrome
begin
headless.start
browser.goto "http://google.com"
puts browser.title
ensure
browser.close
headless.destroy
end
end
end
可能是什么原因? xvfb
,chromium
安装在容器上。构建容器没有错误。