在Vagrant框中运行Selenium / PhantomJS

时间:2013-08-01 08:11:24

标签: selenium phantomjs vagrant

我正在尝试使用behaving设置对Web应用的测试,behave运行在splinterNux Dextop之上 - 后者又使用Selenium来驱动PhantomJS 。所有这些都在VirtualBox提供的运行CentOS 6.4的Vagrant盒子里面。我通过pip安装了Selenium,我从{{3}} repo安装了PhantomJS。

尝试运行我的测试冻结Behave 30秒,然后加注:

selenium.common.exceptions.WebDriverException: Message: 'Can not connect to GhostDriver'

我想我已经把它钉在了无法打开套接字上,事实上,当我尝试从Python交互式shell中执行此操作时,我无法打开任何套接字到localhost。如何让我的测试运行?

2 个答案:

答案 0 :(得分:9)

我在Can not connect to GhostDriver错误时遇到了同样的问题。在尝试phantomjs --help时,我收到了错误

[WARNING] Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.48: cannot open shared object file: No such file or directory)"

安装libicu48(Ubuntu软件包)后,phantomjs --help给了我

[WARNING] phantomjs: cannot connect to X server

这是有道理的,因为我没有安装X服务器。然后,我discovered表示phantomjs< = 1.4需要X服务器,但> = 1.5是纯无头的。因此,我没有依赖我的发行版的phantomjs软件包,而是使用npm安装它,现在一切正常。

答案 1 :(得分:1)

我已经为bug安装了libicu48和gnome-session-fallback包。

$ sudo apt-get install libicu48 gnome-session-fallback