【问题标题】:Can I see what happens in PhantomJS?我可以看看 PhantomJS 中发生了什么吗?
【发布时间】:2013-11-11 02:25:11
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: ruby-on-rails testing cucumber phantomjs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      • 2014-01-26
      • 2020-02-09
      • 2015-03-05
      • 1970-01-01
      相关资源
      最近更新 更多