当前位置:  开发笔记 > 编程语言 > 正文

Selenium是否可以在没有GUI的情况下使用Ubuntu

如何解决《Selenium是否可以在没有GUI的情况下使用Ubuntu》经验,为你挑选了1个好方法。

我在各种云平台上使用Codeception,例如Amazon AWS和Cloud 9.默认情况下,它们都没有GUI.我的问题是,你能在这种类型的系统上运行Selenium吗?或者我需要以某种方式获得GUI?



1> SiKing..:

Selenium只是一个库,因此如果您在配备GUI的系统上运行它,它并不特别在意.您可能会问的是:如果我使用Selenium打开浏览器,该浏览器是否可以在没有GUI的系统上运行.答案是:这取决于!

有无头浏览器:浏览器也没有GUI组件.HtmlUnit与Selenium一起打包.另一个流行的浏览器是PhantomJS,它有第三方Selenium绑定库,名为GhostDriver.就个人而言,我会避免这两个!HtmlUnit使用当前桌面浏览器都不支持的JavaScript引擎,因此测试不是很可靠.GhostDriver 已经维护了2年,因此也会产生不可靠的结果.PahntomJS绝对是一个选项,因为它使用WebKit-- Safari和Chrome浏览器中的引擎,但您必须编写自己的API.

大多数系统都允许您拥有虚拟GUI.你提到了Ubuntu,这是一个Debian派生词.网上有几个教程告诉你如何安装Xvfb,其中大部分是不完整或错误的.在Debian上你安装了这样的无头浏览器:

    安装Xvfb: apt-get install xvfb

    安装浏览器.假设您使用的是Debian服务器,则无法使用apt-get安装类似Firefox的内容,因为存储库不存在.取而代之的是像"Firefox离线安装"或者您想要使用的任何浏览器,然后wget在您的服务器上使用以获取包.

    在某个地方解压缩包/usr/local/lib,然后从/usr/local/bin启动浏览器的二进制文件创建一个软链接.

    现在尝试启动浏览器无头.例如,对于Firefox,你会尝试:xvfb-run firefox.这可能会产生一些错误,您必须修复.在我的情况下,我错过了libdbus-glib-1-2我可以使用apt-get安装的库.

    此时,您需要在运行Selenium测试之前启动Xvfb.大多数CI服务器都有一个Xvfb插件,或者你可以从命令行执行:Xvfb :99 &.有关其他信息,请参阅文档.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有