如何在无显示器的ubuntu下跑selenium (无显示怎么写)
本文目录导航:
如何在无显示器的ubuntu下跑selenium
Selenium是一个web自动化测试框架。
用它可以实现web应用自动化测试。
不过,我不只是用它来做测试,我还用它从电子商务网站签到页面爬取javascript生成的或AJAX的内容。
作为程序员,我不满足于使用Selenium IDE来记录和重放宏记录。
那样很蹩脚,而且不适合部署到多台服务器。
这时,你需要Selenium WebDriver,它又灵活,而且通过Selenium headless,运行Selenium在服务器上不需要显示设备。
为什么要运行Headless Selenium 测试? 当你希望能在服务器上运行的健壮的自动化操作,而其操作又依赖于 27X7,同时还希望它是稳定的,这时,Selenium是你唯一的选择。
但是,Selenium需要运行在浏览器上。
所以,你得骗Selenium,让它觉得,它正跑在一台带有显示器的机器上。
这样,你就可以不间断的跑自动化测试,同时又不失稳定性和扩展性。
如何在ubuntu上运行Selenium headless 本教程的目标是在使用Mozilla Firefox作为主浏览器的ubuntu上配置和运行selenium headless。
安装Firefox headless 确认你的ubuntu安装的是最新版本的Firefox。
我遇到过Selenium的版本和Firefox的版本不兼容问题。
如果你没有安装Firefox或者使用的是老版本的Firefox,可按以下步骤升级Firefox: 在/etc/apt/加入: ppa:mozillateam/firefox-stable 运行以下命令升级或安装Firefox sudo apt-get update sudo apt-get install firefox 运行成功后,ubuntu上就应该安装好最新版本的Firefox了。
安装Xvfb——一个X虚拟框架 这个仿真框架使用虚拟内存能让X-Server运行在没有显示设备的机器上。
这样,浏览器就可以运行了。
在ubuntu和Debian上安装xvfb,只要运行: sudo apt-get install xvfb 现在,可以运行xvfb服务上一个带有数字的显示设备上,这样是为了防止你在下阶段添加设备时引发冲突。
本教程,我们分配一个显示设备 10.. sudo Xvfb :10 -ac -ac代表关闭xvfb的访问控制。
好了,服务器可以运行了。
启动浏览器 在你运行浏览器前,你首先要设置DISPLAY环境变量,以指定xvfb运行在哪个显示设备上。
在加入环境变量前,我们检查一下所有的这些都如我们所料: export DISPLAY=:10 firefox 如果终端(terminal)没有显示错误,就说明你已经成功运行Firefox在无显示设备的ubuntu上了。
它会一直运行,直到你使用ctrl + C或其它类似方法来终止其运行。
同时,它不会有任何输出。
如果你能成功运行以上的步骤,那么接下来的部分就是轻而易举了。
现在,我们可以在ubuntu服务器上运行selenium,如同你在本地运行一样。
本教程的下一部分,我展示了如何运行一个独立selenium服务器,同时使用PHP的selenium webdriver去连接。
小结 很久以前,我也使用selenium做自动化的集成测试,使用HtmlUnit的webdriver,所以不需要显示器。
但是HtmlUnit的表现总是有些不如意。
而最近在项目中发现这篇文章,解决我长久以来的问题:在没有显示器的服务器上运行Firefox的集成测试。
本地离线安装selenium超详细教程
作为测试专家芸芸,我是一位北漂女程序员,业余时间热衷于古筝。
在某些特定情况下,离线安装Selenium成为了我们的必要任务。
经过数小时的专注努力,我成功完成了本地离线安装的过程。
现在,我将直接分享操作步骤,以帮助你顺利实现这一目标:
操作步骤如下:
在简书平台,我承诺每日更新,这是第83篇,我致力于连续创作365天。
至今,我已累计发布超过36万字的内容,期待这些步骤能帮到有需要的朋友们。
golang从入门到精通,搭建本地selenium自动化测试环境
用Golang做爬虫,当面对页面存在复杂的JS的情况,使用普通的或者,如不做特殊处理,将无法解析页面源代码。
在使用python的过程中,可以使用selenium进行爬取数据,或使用selenium自动化测试,那么用Golang怎么处理这个问题呢? 其实Golang中也有selenium,Selenium 作为一个用于 Web 应用程序测试的工具,可以模拟真实浏览器进行操作,也可以实现鼠标点击、滚轮、输入等用户日常操作。
我们通过2节课的学习,实现1、本地启动selenium服务;2、远程启动selenium服务。
文章评论