无法在无头模式下运行firefox

时间:2015-06-12 21:17:32

标签: selenium phpunit headless-browser

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

我获得系统确认后,selenium服务器已启动并正在运行 我调用我的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("/");
  }
}
?>

1 个答案:

答案 0 :(得分:0)

显然,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>