硒和无头环境

sdm*_*_gr 13 environment selenium exception headless robotframework

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

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

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

从Robot Framework运行测试用例(使用pybot testcasename.tsv)我得到一个例外:

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

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

sdm*_*_gr 18

使用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()
...
Run Code Online (Sandbox Code Playgroud)