亿海牌电子烟被锁后。如何操作才能解锁谢大神

中国领先的IT技术网站
51CTO旗下网站
如何在无显示器的ubuntu下跑前端测试
很久以前,我也使用selenium做自动化的集成测试,使用HtmlUnit的webdriver,所以不需要显示器。但是HtmlUnit的表现总是有些不如意。而最近在项目中发现这篇文章,解决我长久以来的问题:在没有显示器的服务器上运行Firefox的集成测试。
作者:翟志军来源:翟志军的博客| 10:35
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的集成测试。
而本文,我更多尝试的是意译。有不对的地方,谢谢斧正!
英文原文:
译文链接:
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条头条外电头条外电
24H热文一周话题本月最赞
讲师:0人学习过
讲师:0人学习过
讲师:5人学习过
精选博文论坛热帖下载排行
作为深受编程人员爱戴和尊敬的编程专家,微软.NET开发团队的顾问,本书作者Jeffrey Richter针对开发各种应用程序(如Web Form、Windows For...
订阅51CTO邮刊如何在无显示器的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/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&
代表关闭xvfb的访问控制。好了,服务器可以运行了。
启动浏览器
在你运行浏览器前,你首先要设置DISPLAY环境变量,以指定xvfb运行在哪个显示设备上。在加入环境变量前,我们检查一下所有的这些都如我们所料:
export&DISPLAY=:10& &
如果终端(terminal)没有显示错误,就说明你已经成功运行Firefox在无显示设备的ubuntu上了。它会一直运行,直到你使用ctrl + C或其它类似方法来终止其运行。同时,它不会有任何输出。
如果你能成功运行以上的步骤,那么接下来的部分就是轻而易举了。现在,我们可以在ubuntu服务器上运行selenium,如同你在本地运行一样。本教程的下一部分,我展示了如何运行一个独立selenium服务器,同时使用PHP的selenium webdriver去连接。
很久以前,我也使用selenium做自动化的集成测试,使用HtmlUnit的webdriver,所以不需要显示器。但是HtmlUnit的表现总是有些不如意。而最近在项目中发现这篇文章,解决我长久以来的问题:在没有显示器的服务器上运行Firefox的集成测试。
而本文,我更多尝试的是意译。有不对的地方,谢谢斧正!
英文原文:
译文链接:
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致Running Headless Selenium with Chromepip安装selenuim出错,系统:Ubuntu11.10 64bit
pip安装selenuim出错,系统:Ubuntu11.10 64bit
$ pip install selenium
Downloading/unpacking selenium
Cannot fetch index base URL
Could not find any downloads that satisfy the requirement selenium
No distributions at all found for selenium
T06:38:18Z
换国内的源吧,比如这个 http://pypi.sdutlinux.org/
T07:10:55Z
如果用pythonbrew工具创建的虚拟环境,如何换源呢?
T13:03:57Z
上面 @whtsky 发的 http://pypi.sdutlinux.org/ 这个页面有说明。
换源与 pythonbrew 无关,指的是 pip 使用的源。
T01:21:43Z
解决了,安装完这些依赖包;重新安装Python版本和虚拟环境;
$ sudo apt-get install curl build-essential libbz2-dev libsqlite3-dev zlib1g-dev libxml2-dev libxslt1-dev libreadline5 libgdbm-dev libgdb-dev libxml2 libssl-dev tk-dev libgdbm-dev libexpat1-dev libncursesw5-dev
T17:07:31Z
@johnask 那个提示是说连不上 Pypi 的官方源,估计当时是网络抽风了。和这些依赖包一点关系都没有。
T03:03:36Z
@whtsky 其实我也怀疑的,公司的网管经常限制网速;深受其害
T03:35:57Z
@whtsky 我刚才证实了你的猜想;我重新建一个虚拟环境,在安装Selenium时又是这个问题;
但可以用浏览器打开http://pypi.python.org/simple/这个页面,也可以ping通:
&$ ping pypi.python.org
&PING global-ssl.fastly.net (199.27.77.184) 56(84) bytes of data.
&64 bytes from 199.27.77.184: icmp_req=1 ttl=51 time=648 ms
&64 bytes from 199.27.77.184: icmp_req=2 ttl=51 time=652 ms
T03:37:50Z
@whtsky 我的疑惑是我公司的网管用什么方法,使我不能通过pip链接Pypi的官方源呢?
T06:42:19Z
@whtsky 我修改物理机的MAC地址后就可以安装了,速度非常快!

我要回帖

 

随机推荐