根据在无头模式下启动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("/");
}
}
?>
答案 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>