2017-01-15 101 views
0

我想运行一个我在Docker上使用Selenium的Ruby脚本。我猜这是因为我需要以某种方式安装Firefox,尽管我认为这包括在Selenium的宝石中。由于“它在我的机器上运行”,我有点失落如何使它在Docker实例上工作。在Docker上运行Ruby脚本

我Dockerfile看起来像这样

FROM ruby:2.3-onbuild 

COPY Gemfile Gemfile 
COPY Gemfile.lock Gemfile.lock 
COPY . . 

RUN bundle install 

ENTRYPOINT ["ruby", "runner.rb"] 
+0

您能否提供更多关于您的脚本('runner.rb'我的设想)的详细信息?另外,当你尝试运行它时,你看到了什么错误? – phss

+0

@phss是的,抱歉,我应该这样做。 'runner/rb'只是使用Selenium来做网站自动化。它使用了我在本地项目中使用的镀铬汽油。错误是这一个。 '无法连接到chromedriver http://127.0.0.1:9515(Selenium :: WebDriver :: Error :: WebDriverError)' – doblo7

回答

0

Firefox浏览器本身不包含在硒。 Firefox(或任何浏览器)需要在机器上安装(docker镜像),然后才能使用硒进行测试。

另请注意,如果您使用的是Firefox 48或更高版本,则还需要确保机器上有可用的Geckodriver。

在你的问题你说Firefox,但在你的评论中,你说的chromedriver。这两个不兼容。此外,chromedriver需要在码头图片上,而不是在本地(如果您使用远程)。

您使用的是官方硒码头图片吗?