Exception 硒与无头环境

Exception 硒与无头环境,exception,selenium,environment,headless,robotframework,Exception,Selenium,Environment,Headless,Robotframework,我最近在Red Hat服务器上安装了Python2.7、Robot框架和Selenium库(我仍然不知道是否成功…),以便在web应用程序上运行一些测试 所以我尝试了一个使用Robot框架的简单测试用例,看看Selenium库是否正常工作,只是为了打开一个网页,仅此而已 Selenium服务器已根据ps的结果启动并运行,Firefox二进制文件位于路径中 从Robot框架(使用pybot testcasename.tsv)运行测试用例时,出现了一个异常: 错误:捕获到字符串的屏幕截图时出现问题:

我最近在Red Hat服务器上安装了Python2.7、Robot框架和Selenium库(我仍然不知道是否成功…),以便在web应用程序上运行一些测试

所以我尝试了一个使用Robot框架的简单测试用例,看看Selenium库是否正常工作,只是为了打开一个网页,仅此而已

Selenium服务器已根据ps的结果启动并运行,Firefox二进制文件位于路径中

从Robot框架(使用pybot testcasename.tsv)运行测试用例时,出现了一个异常:

错误:捕获到字符串的屏幕截图时出现问题:java.awt.awt异常:无头环境

那么,什么是无头环境?是否有人知道是否还需要安装或配置其他内容?

使用X虚拟帧缓冲区(Xvfb): 我们可以使用xvfb为selenium创建一个无头环境(例如,在SSH上运行)


说明:
  • 使用以下选项启动
    xvfb

    $Xvfb:89-ac-noreset

    (其中
    :89
    是创建的虚拟“显示”)

  • 然后,将
    DISPLAY
    变量设置为该虚拟显示:

    $export DISPLAY=:89

  • 此时,我们可以根据需要运行selenium服务器。下面是一些例子

  • 运行服务器Java存档:

    $java-jar selenium server.jar

    在Python中:

    从selenium导入webdriver
    driver=webdriver.Firefox()
    ...
    
    这里就是为了这个目的。

    你真是个天才!谢谢,
    -ac-noreset
    也解决了我的问题。现在我需要找出,为什么firefox在我的构建机器上没有任何字体。。hm.另外:我发现在处理启动/停止X服务器和并行构建时非常方便。对于多年后关注这一问题的所有人来说:现在有一些可编写脚本的无头浏览器。最流行的可能是PhantomJS:。