14

我最近在 Red Hat 服务器上安装了 Python 2.7、Robot Framework 和 Selenium 库(我仍然不知道我是否成功了……),以便在 Web 应用程序上运行一些测试。

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

Selenium Server 根据 ps 的结果启动并运行,Firefox 二进制文件在 PATH...

从机器人框架运行测试用例(使用 pybot testcasename.tsv)我得到一个异常:

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

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

4

2 回答 2

19

使用 X 虚拟帧缓冲区 (Xvfb):

我们可以使用 xvfb 为 selenium 创建一个无头环境(例如,通过 SSH 运行)。


指示:

  1. xvfb从以下选项开始:

    $ Xvfb :89 -ac -noreset

    :89虚拟“显示”在哪里创建)。

  2. 然后,将DISPLAY变量设置为此虚拟显示:

    $ export DISPLAY=:89

  3. 此时,我们可以根据需要运行 selenium 服务器。示例如下。

运行服务器 Java 存档:

$ java -jar selenium-server.jar

在 Python 中:

from selenium import webdriver

driver = webdriver.Firefox()
...
于 2011-03-16T11:16:06.613 回答
0

这是一个用于此目的的简单机器人库

于 2015-08-22T18:19:18.963 回答