我可以看看PhantomJS中会发生什么吗?

时间:2013-11-11 02:25:12

标签: ruby-on-rails testing cucumber phantomjs

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

有时您的代码是正确的并且您的测试是正确的,但测试仍会间歇性地失败。这通常是因为脚本,动画或某些CSS阻碍了它们。但是看到屏幕截图,钻入DOM检查器或使用调试器还不足以捕获这些边缘情况。

有没有办法让窗口看看PhantomJS在后台做什么?它可能是X Window中的某个东西,或者在VNC服务器中运行等等。任何视觉效果都会对调试有很大帮助,特别是在那些挑剔的细节中。

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

我试过PhantomJS和Capybara-WebKit,但这些无头浏览器都不是“头”选项。 Selenium-WebDriver似乎设置起来很复杂,似乎只能使用像Firefox这样的完整浏览器,这可能会导致比它解决的更多问题。

如果您有任何想法,请告诉我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

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