2017-01-15 124 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需要在碼頭圖片上,而不是在本地(如果您使用遠程)。

您使用的是官方硒碼頭圖片嗎?