我正试图通过在Docker上运行无头测试套件来简化我的Selenium测试。我正在运行Debian Jessie图像,安装了从PPA安装的google-chrome-stable和chromedriver 2.33。我还附加了/ dev / shm来最大化我在容器中的记忆。我已经验证了chromedriver在容器内运行良好。但是,当我运行一个简单的测试时,我会得到一个超时:
browser = Watir::Browser.new :chrome, headless: true
browser.goto 'google.com'
browser.text_field(title: 'Search').set 'Hello World!'
browser.button(type: 'submit').click
puts browser.title
browser.quit
/usr/local/lib/ruby/2.4.0/net/protocol.rb:176:in `rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)
from /usr/local/lib/ruby/2.4.0/net/protocol.rb:154:in `readuntil'
from /usr/local/lib/ruby/2.4.0/net/protocol.rb:164:in `readline'
from /usr/local/lib/ruby/2.4.0/net/http/response.rb:40:in
......
有一点需要提及的是,chromedriver安装在/ chromedriver / chromedriver,然后添加到$ PATH。 Watir / Selenium需要知道chromedriver的完整路径吗? chromedriver或chrome是否需要在后台运行?