我正在尝试通过在Docker上运行测试套件来简化我的Selenium测试。我正在运行一个Debian Jessie镜像,其中安装了PPA中的google-chrome-稳定和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?
https://stackoverflow.com/questions/47929188
复制相似问题