首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watir Chrome Headless Docker

Watir Chrome Headless Docker
EN

Stack Overflow用户
提问于 2017-12-22 00:37:54
回答 1查看 797关注 0票数 0

我正在尝试通过在Docker上运行测试套件来简化我的Selenium测试。我正在运行一个Debian Jessie镜像,其中安装了PPA中的google-chrome-稳定和chromedriver 2.33。我还附加了/dev/shm来最大化我在容器中的内存。我已经验证了chromedriver在容器中运行良好。然而,当我运行一个简单的测试时,我得到了一个超时:

代码语言:javascript
复制
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?

EN

回答 1

Stack Overflow用户

发布于 2018-08-24 21:10:40

这是因为shm (共享内存)很小。这款github link将为您解决问题。如果您对shm是什么感到好奇,请参考this优秀指南。

可以使用此命令进行快速测试。

代码语言:javascript
复制
docker exec containerID umount /dev/shm
docker exec containerID mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime,size=512M tmpfs /dev/shm
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47929188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档