1

有时,当使用 Cucumber for Rails 4 在 PhantomJS 中运行自动化测试时,实际坐在我的屏幕前,查看窗口,看看浏览器到底在做什么会非常非常有用。

有时你的代码是正确的,你的测试是正确的,但测试仍然会间歇性地失败。这通常是因为脚本、动画或某些 CSS 的阻碍。但是查看屏幕截图、深入了解 DOM 检查器或使用调试器都不足以捕捉到这些边缘情况。

有没有办法让一个窗口查看 PhantomJS 在后台做什么?它可能是 X Window 中的东西,或者在 VNC 服务器中运行,等等。任何可视化的东西都会极大地帮助调试,尤其是那些挑剔的细节。

我找到了一个名为PhantomVNC的小程序,但它并没有告诉我它是如何工作的。它看起来只是通过 VNC 提供一系列屏幕截图。

我尝试了 PhantomJS 和 Capybara-WebKit,但这些无头浏览器都没有“头”选项。Selenium-WebDriver 的设置似乎很复杂,而且似乎只能与 Firefox 等完整的浏览器一起使用,这可能会导致比它解决的问题更多的问题。

如果您有任何想法,请告诉我。先感谢您。

4

1 回答 1

0

不确定具体关于 Cuc/Rails - 但我专门为此准备了第二个 chrome/webdriver 虚拟机。我专门将 PhantomJS 用于无头自动验收测试,但是当测试出现问题并且我正在尝试诊断时,实时查看浏览器可能会有所帮助。

换句话说,启动一个 Ubuntu 桌面虚拟机,安装 chrome,安装 selenium 服务器和 chrome webdriver。登录到 VM,打开 chrome,确保 selenium 正在运行,然后配置您的测试套件以连接到此实例的 selenium webdriver 服务(通常是端口:4444)。运行您的测试,您应该能够在 VM 上观看 chrome 实例。

于 2013-11-27T04:39:52.017 回答