无法 运行 Firefox 无头模式

Can't run firefox in headless mode

根据以无头模式启动 selenium 服务器的文档,我应该在特定的 Firefox 配置文件下使用 xvfb-运行 包装器启动服务器。 这可以通过以下命令完成: DISPLAY=:1 xvfb-run java -jar selenium-server.jar -firefoxProfileTemplate /home/ronline/.mozilla/firefox/aqiycn5z.selenium

一旦我得到系统确认 selenium 服务器已启动并且 运行ning 我调用我的 phpunit 脚本来执行一组基本测试 phpunit --log-tap test.log test.php

但是关于启动 firefox 的 selenium 服务器输出冻结了执行 17:50:33.300 INFO - Preparing Firefox profile... 17:50:36.376 INFO - Launching Firefox...

Firefox 无头模式应该 运行 开箱即用。 为了使这项工作正常进行,是否需要安装任何其他驱动程序?

安装细节: firefox --version Mozilla Firefox 38.0 PHPUnit 4.6.6 Ubuntu LTS 12.04

test.php内容:

<?php
class EditUser extends PHPUnit_Extensions_SeleniumTestCase
{
  protected function setUp()
  {
    $this->setBrowser("*firefox /usr/lib/firefox/firefox");
    $this->setBrowserUrl("http://www.google.com");
  }

  public function testMyTestCase()
  {
    $this->open("/");
  }
}
?>

显然 selenium 服务器仍然不支持 Firefox 38.0。解决方案是安装 Firefox 34.0 并将 selenium 服务器指向其二进制可执行文件:

$this->setBrowser("*firefox /opt/firefox/firefox-34/firefox-bin");

另一种选择是从单元测试文件中删除 setBrowser 方法,并将下面的 xml 片段注入到 phpunit xml 配置文件中。

<selenium>
<browsername="Firefox"
browser="*firefox /opt/firefox/firefox-34/firefox-bin" 
    host="localhost" 
    port="4444"
    timeout="30000"/>
</selenium>