【问题标题】:Selenium WebDriver FirefoxSelenium WebDriver Firefox
【发布时间】:2013-12-19 06:13:49
【问题描述】:

我在 Ubuntu Server 13.04 上运行 LAMP 配置。我将 XVFB 和 Selenium 设置为在启动时作为服务 (/etc/init.d) 加载。如果我在终端会话中打开 DISPLAY 之前导出它,Firefox 正在工作,但是我没有尝试在终端会话中进行测试;我正在使用 PHPWebDriver 来调用 WebDriver 的一个实例。

尝试这样打开会话时:

$driver_include = "/includes/user/webdriver/__init__.php";
require $driver_include;
$wd_host = 'http://localhost:4444/wd/hub';
$web_driver = new PHPWebDriver_WebDriver($wd_host);
$session = $web_driver->session('firefox');

我收到以下错误:

Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

我还将 Xvfb 设置为 DISPLAY :10。通过导出到此显示,我可以在终端中打开 Firefox。

我的问题是:

我如何告诉 WebDriver 在不从终端会话手动启动的情况下默认使用某个 DISPLAY?

【问题讨论】:

    标签: php selenium selenium-webdriver


    【解决方案1】:

    我认为只要确保 Grid 服务器在窗口环境中的 shell 中运行就可以了。如果您在启动 Firefox 配置文件所需的窗口环境之外启动网格,它将不起作用。如果您尝试在没有 DISPLAY 的情况下无头运行,那么您应该改用 GhostDriver/PhantomJS 或类似的东西。

    【讨论】:

    • Xvfb 不应该能够处理显示吗?
    • 那么,如果我在 VNC 和 XVFB 中运行 Firefox,Selenium 如何知道要使用哪个显示器?
    • 它将在您启动网格中心的同一显示中运行。因此,如果您能够进入显示器并启动集线器,那么您也将能够进入显示器并查看它执行的 Firefox 浏览器。
    • 我想通了!!我使用了以下帖子的答案:stackoverflow.com/questions/16040327/…,现在正在使用 xvfb-run 将 selenium 作为服务运行。
    猜你喜欢
    • 2021-06-08
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 2015-09-26
    • 1970-01-01
    • 2016-01-16
    • 2017-07-20
    相关资源
    最近更新 更多