【问题标题】:How to watch xvfb session that's inside a docker on remote server from my local browser?如何从我的本地浏览器观看远程服务器上 docker 内的 xvfb 会话?
【发布时间】:2017-05-28 14:31:30
【问题描述】:

我正在运行一个 docker(我自己构建的),它是运行 E2E 测试的 docker。 浏览器已启动并正在运行,但我想要另一个不错的功能,我想要在线观看会话的能力。

我的docker run 命令是:

docker run -p 4444:4444 --name ${DOCKER_TAG_NAME} 
           -e Some_ENVs 
           -v Volume:Volume 
           --privileged 
           -d "{docker-registry}" >> /dev/null 2>&1

我可以导出屏幕截图,但在某些情况下这还不够,而且查看测试的确切状态的能力非常棒。 我尝试了很多选择,但我走到了死胡同,任何帮助都会很棒。

  • 我的测试在Python 2.7
  • 我的 Docker 基地是ubuntu:14.04
  • 我的环境在 AWS 中(如果有的话)
  • docker 在 Ubuntu 服务器上运行。

  • 我知道它是 this 的副本,但没有人这么回答他……

【问题讨论】:

标签: python selenium docker selenium-chromedriver xvfb


【解决方案1】:

最近有一个名为Selenoid 的工具。它正在Docker 容器中启动浏览器(即您需要的无头)。它有一个独立的UI 能够通过VNC 显示实时会话屏幕。因此,您可以并行启动多个会话,然后查看甚至拦截目标浏览器中发生的操作。所有这些东西都可以在云环境中完美运行。

【讨论】:

【解决方案2】:

我之前在使用 vnc 时遇到过同样的问题,您需要知道您的 xvfb/vnc 正在使用哪个端口,然后在您完成后打开您的 aws secuirty 组上的该端口,然后您应该能够连接。

在我的情况下,我正在启动 selenium docker "https://github.com/elgalu/docker-selenium" 并使用此命令启动 docker 机器 "docker run -d --name=grid -p 4444:24444 -p 5900:25900 \ -v /dev/shm:/dev/shm -e VNC_PASSWORD=hola \ -e 屏幕宽度=1920 -e 屏幕高度=1480 \ elgalu/硒”

根据命令的 VNC 端口是“5900”,所以我在实例安全组上打开了该端口,并使用端口 5900 上的 VNC 查看器进行连接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多