一尘不染

selenium和无头环境

selenium

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

因此,我尝试使用Robot Framework进行一个简单的测试用例,以查看Selenium Library是否起作用,只是打开一个网页,仅此而已…

Selenium Server根据ps的结果启动并运行,并且Firefox二进制文件位于PATH中。

从机器人框架(使用pybot testcasename.tsv)运行测试用例时,出现异常:

错误:捕获屏幕快照到字符串的问题:java.awt.AWTException:无头环境

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


阅读 276

收藏
2020-06-26

共1个答案

一尘不染

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

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


说明:

  1. xvfb以下选项开始:

$ Xvfb :89 -ac -noreset

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

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

$ export DISPLAY=:89

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

运行服务器Java归档文件:

$ java -jar selenium-server.jar

在Python中:

from selenium import webdriver

driver = webdriver.Firefox()
...
2020-06-26