<分区>
<分区>
我在 Amazon AWS 和 Cloud 9 等各种云平台上使用 Codeception。默认情况下它们都没有 GUI。我的问题是,你能在这种类型的系统上运行 Selenium 吗?还是我需要以某种方式获得 GUI?
最佳答案
Selenium 只是一个库,因此它并不特别关心您是否在配备 GUI 的系统上运行它。您可能会问:如果我使用 Selenium 打开浏览器,该浏览器是否可以在没有 GUI 的系统上运行。答案是:视情况而定!
有 headless 浏览器:也没有 GUI 组件的浏览器。 HtmlUnit与 Selenium 包装在一起。另一个流行的浏览器是 PhantomJS ,它有一个名为 GhostDriver 的第三方 Selenium 绑定(bind)库.就我个人而言,我会避免这两种情况! HtmlUnit 使用当前桌面浏览器都不支持的 JavaScript 引擎,因此测试不是很可靠。 GhostDriver 有 not been maintained for 2 years ,因此也会导致不可靠的结果。 PahntomJS 绝对是一个选项,因为它使用 WebKit——Safari 和 Chrome 浏览器中的引擎,但你必须自己编写 API .
大多数系统都允许您拥有虚拟 GUI。您提到了 Ubuntu,它是 Debian 的衍生产品。网上有几个教程告诉您如何安装 Xvfb,其中大部分都不完整或有误。在 Debian 上,你安装一个像这样的 headless 浏览器:
apt-get install xvfb
wget
来获取包。/usr/local/lib
,然后创建一个从 /usr/local/bin
到启动浏览器的二进制文件的软链接(soft link)。 xvfb-run firefox
。这可能会产生一些错误,您必须修复这些错误。就我而言,我缺少库 libdbus-glib-1-2
,我可以使用 apt-get 安装它。Xvfb :99 &
。查看docs了解更多信息。关于ubuntu - Selenium 可以在没有 GUI 的 Ubuntu 上运行吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342632/
相关文章:
php - 使用 PhpBrowser 的 Codeception 似乎不遵循重定向
python-2.7 - import numpy : lapack_lite. 出错所以:undefined symbol
ubuntu - curl:(18)传输关闭,剩余 2 个字节要读取
python - 在 chromedriver 中禁用 PDF 查看器插件
java - 如何使用 Selenium 单击 Compose 部分中的更多选项?
docker - 如何进行代码接收和Gitlab CI(持续集成)
ubuntu - OpenKm 6.3.0 未在 Ubuntu 服务器中启动
java - 如何运行包含 .jar 文件的 java 程序