如何在无显示器的ubuntu下跑selenium
2019独角兽企业重金招聘Python工程师标准>>>
如何在无显示器的ubuntu下跑selenium 博客分类: java
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/sources.list加入:
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的集成测试。
而本文,我更多尝试的是意译。有不对的地方,谢谢斧正!
英文原文:http://www.installationpage.com/selenium/how-to-run-selenium-headless-firefox-in-ubuntu/
译文链接:http://my.oschina.net/zjzhai/blog/295288
转发:http://os.51cto.com/art/201407/446726.htm
转载于:https://my.oschina.net/xiaominmin/blog/1597933
如何在无显示器的ubuntu下跑selenium相关推荐
- 如何在无显示器的ubuntu下跑前端测试
2019独角兽企业重金招聘Python工程师标准>>> 翻译自:http://www.installationpage.com/selenium/how-to-run-seleniu ...
- Ubuntu下跑通py-faster-rcnn、详解demo运作流程
在不同的服务器不同的机器上做过很多次实验,分别遇到各种不一样的错误并且跑通Py-Faster-RCNN,因此,在这里做一个流程的汇总: 一.下载文件: 首先,文件的下载可以有两种途径: 1.需要在官网 ...
- 树莓派教程(1)——手把手教你在无显示器的情况下使用树莓派
树莓派无显示器安装教程 1.材料准备 2.树莓派简介 3.树莓派装机 3.1.树莓派系统下载 3.2.格式化SD卡 3.3.修复zip 3.4.烧录系统 4.配置WiFi 5.启动树莓派 5.1.获取 ...
- ubuntu下跑魔兽世界
游戏环境:ubuntu 6.06 p4 2.4g 726m scim输入法 nvidia mx 440 wine 9.21 1.安装显卡驱动(不是基于debian的发行版请去相关网站查询下怎么安装显卡 ...
- 小觅深度版Ubuntu下跑vins-mono
最近实验室新买了小觅深度版相机(型号D1000-IR-120/Color),这里记录一下跑vins-mono的过程.由于虚拟机usb可能出现不兼容问题,我使用的是双系统的Ubuntu16.04,对应R ...
- Ubuntu下的Selenium爬虫的配置
在服务器Ubuntu系统上跑爬虫,爬虫是基于Selenium写的,遇到好几个问题,现在这里记录一下. 1. 安装环境 阿里云,Ubuntu16.04,因为没有界面,所以远程命令行操作.爬虫是基于Sel ...
- [How TO]-ubuntu下安装selenium
环境:window10宿主机+ virtualbox + ubuntu20.10虚拟机 1.安装火狐浏览器 下载firefox版本:firefox-52.0.2.linux-x86_64.sdk.ta ...
- 装不了 pytorch=0.4.0? ubuntu下 基于 cuda=92 和 pytorch=1.2 配置环境跑通 CornerNet 训练和测试流程 步骤详解(包括GPU限制问题详解)
ubuntu下跑通CornerNet的流程步骤 环境配置 写这篇博客原因? 更改conda_packagelist.txt conda下基于conda_packagelist.txt创建新环境 安装p ...
- Ubuntu下无脑跑通yolov5目标检测与跟踪(Pycharm+Pytorch1.7.1+Cuda10.1)
此文章记录如何在ubuntu下部署yolov5网络,并训练自己的数据集 环境:ubuntu16.04+Pycharm+Pytorch1.7.1+Cuda10.1 具体如何在ubuntu下配置深度学习环 ...
最新文章
- javaweb学习总结(六)——Servlet开发(二)
- 模型预测控制 索引超出数组元素的数目(0)。_C++基础总结(二):C++基本数据类型及流控制语句详解...
- 【新书速递】你想知道的通信“灵魂三问”都在这里……(福利再现)
- TensorFlow 笔记 (五)自定义训练: 演示
- Chrome浏览器扩展开发系列之一:初识Google Chrome扩展
- 动态规划____编辑距离
- Python build-in数据类型之字符串str (一)
- mysql-cluster5.7搭建集群(实际测试有效)
- python判断闰年_python如何判断闰年
- 【rzxt】笔者支招:电脑的散热大户显卡温度过高如何解决
- 股票中什么是总负债同比增长率,有什么作用
- 云环境下搭建FTP服务器(不使用21端口)
- 【教育教学资源】教育资讯、教学功能、当老师、或者补习班给学生的资料
- 关闭2345,搜狐等软件的弹窗
- 「Adobe国际认证」运用“对象选择”工具,在PS中快速建立选区
- windows主机加固(2)
- canal 记录 数据变更类型 QUERY ROWDATA INSERT xxx XXXXX
- 最新爆料!RK3588 适配 OpenHarmony 的新进展
- 闲聊Android工程师的职业规划
- 一加手机便签卸载了,怎么恢复没有备份的内容?
热门文章
- 理解基本包装类型Number,String,Boolean
- sqlserver08评估期已过的解决方法
- flex if(a is b){},flex if(a as b){} 意思
- 基于WebMatrix的轻量级Web开发系列课程
- 如何进行需求矩阵管理
- oralcle中的性能统计基本用法statpack
- Sharding-Sphere_分库分表小结和问题_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记005
- ES6新特性_ES6模板字符串---JavaScript_ECMAScript_ES6-ES11新特性工作笔记007
- Netty工作笔记0005---NIO介绍说明
- C#.Net工作笔记012---c# 文件操作_文件路径操作_随时更新