环境部署(九):linux下安装python+chrome+Xvfb

在基于selenium进行的UI自动化测试中,开发调试环境一般都是windows操作系统。完成后需要部署到专门的测试环境。

如要要部署到linux环境的服务器(阿里云、腾讯云)执行,那么测试脚本也需要对应的浏览器支持, 才能正常进行测试。

這篇博客,介绍下如何在如何在linux环境安装python、chrome、chromium、Xvfb的命令和方法。。。

 

1、安装python

linux系统自带python,不过一般都是2.6或者2.7版本,可以通过命令 python -V 查看当前的python版本号

如果你用的python3.0+的版本,那么就需要升级为本地开发对应的python版本,可以输入下面的命令来升级:

从下载链接下载安装包: wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 

解压缩包: tar zxvf Python-3.6.2.tgz 

输入命令 cd Python-3.6.2 ,进入刚刚解压的目录,然后执行下列3个命令:

 ./configure (不是每一个安装包都需要执行这个命令,如果是二进制包则不需要这一步)

 make 

 make install 

解释:

在解压出的文件夹中有一个名为configure的可执行脚本程序,它用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等系统信息,使用 ./configure 命令执行。

检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了,使用#make命令编译。

成功编译后,通过#make install安装。

安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:

 make clean  

 make distclean 

然后可以将刚刚下载的解压包和解压出来的文件夹删掉。安装成功后,可以输入 whereis python3 查看安装路径

输入python3,可以进入python命令行,输入print测试,然后就是pip命令安装自己需要的python库。

 

2、关于chrome

linux环境下运行UI自动化测试脚本,并不是不需要chrome浏览器,只是不需要显示界面,但实际它还是在浏览器内操作的。

利用的只是它的headless模式(chrome浏览器在59版本之后的正式版里加入了headless模式 ,即:无界面模式)。

我的linux版本:Centos7.4:64位

PS:chrome已不支持Linux 32位,也不支持Centos,所以如果你的服务器是Centos的话,只能安装Chromium(都是google的产品,这个是开源项目)。

对Centos不熟悉的童鞋,可以参考这里:Centos yum源的配置与使用

 

3、安装chrome

在目录/etc/yum.repos.d/下新建文件google-chrome.repo,命令如下:

 cd /ect/yum.repos.d/

 vim google-chrome.repo 

在该文件中添加如下内容:

1 [google-chrome]
2 name=google-chrome
3 baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
4 enabled=1
5 gpgcheck=1
6 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

然后保存退出,输入如下命令:

 yum -y install google-chrome-stable 

PS: Google官方源可能在中国无法使用,导致安装失败或者在国内无法更新,可以添加以下参数来安装:

 yum -y install google-chrome-stable --nogpgcheck 

 

4、安装chromium

安装chromium的方法有两种,请自行选择。。。

①、输入命令 cd /etc/yum.repos.d ,进入yum源目录,然后输入命令 wget http://people.centos.org/hughesjr/chromium/6/chromium-el6.repo ,

下载chromium安装包:

输入命令 yum install chromium 进行安装,过程稍长,耐心等待:

中间会遇到提示,确认下载的安装包,输入"y"即可,等待安装完成:

②、安装yum源,输入命令 sudo yum install -y epel-release  

安装Chromium: yum install -y chromium  

检查安装结果: ll /usr/bin/ | grep chrom 

 

5、安装chromedriver

浏览器安装成功后,要想运行脚本,浏览器驱动是必不可少的一个文件。

首先查看安装的chrome浏览器版本:输入命令 google-chrome -version 

然后在chromedriver下载网站,查看LATEST REALEASE文件,里面会介绍最新的版本

chromedricer下载链接:http://chromedriver.storage.googleapis.com/index.html

或者这个链接也可以:https://npm.taobao.org/mirrors/chromedriver

下载对应的版本,命令如下:

 wget http://chromedriver.storage.googleapis.com/index.html?path=2.38/chromedriver_linux64.zip 

然后解压缩,输入命令 unzip chromedriver_linux64.zip 

将下载的chromedriver移动当chrome浏览器目录下,输入命令 sudo mv chromedriver /usr/local/bin/chromedriver 

然后改变用户执行的权限,输入命令 sudo chmod u+x,o+x /usr/local/bin/chromedriver 

最后查看版本,确认是否可用?输入命令 chromedriver --version 

 

6、安装Xvfb

Xvfb是一个实现了X11显示服务协议的显示服务器。 不同于其他显示服务器,Xvfb在内存中执行所有的图形操作,不需要借助任何显示设备。

安装Xvfb的方法也有两种,请自行选择。。。

①、输入如下命令行安装:

cd /tmp

wget http://vault.centos.org/6.5/os/x86_64/Packages/xorg-x11-server-Xvfb-1.13.0-23.el6.centos.x86_64.rpm

yum install xorg-x11-server-Xvfb-1.13.0-23.el6.centos.x86_64.rpm 

解释:使用了“-extension RANDR -nolisten inet6”是因为Xvfb默认使用 ipv6,如果不添加就会报错。。。

出现如下界面,则表示安装成功:

②、输入如下命令行安装

yum install Xvfb -y

yum install xorg-x11-fonts* -y 

同样,安装完成后别忘记检查是否安装成功。。。

 

以上方法为linux系统Centos下的安装命令和方法,仅供参考。。。

 

转载于:https://www.cnblogs.com/imyalost/p/9079076.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

地理围栏_什么是“地理围栏”?

地理围栏The term is popping up more frequently in news articles, appearing in product manuals, and highlighted as a feature in tons of mobile applications, but what exactly is geofencing? Read on as we explain what it is, why it’s appearing in more produ…

219. 单页应用 会话管理(session、cookie、jwt)

原文链接:https://github.com/ly525/blog... 关键字:http-only, cookie,sessionid, vue-router, react-router, 安全,localStorage, jwt 需求描述 内部管理平台,需要用户登录之后才能访问。现在将 该平台地址(www.xxx.…

(原+译)使用numpy.savez保存字典后读取的问题

转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7608928.html 参考网址; https://stackoverflow.com/questions/22315595/saving-dictionary-of-header-information-using-numpy-savez python中,使用pickle保存变量时,如果变量过大&…

NLog 通过http保存日志

简介NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码。 NLog是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的(contextual information&#xff09…

嵌套映射

1. 多对一嵌套查询映射使用案例 package com.zixue.dao;import com.zixue.annotation.MyBatisRepository; import com.zixue.entity.Emp;/*** 员工表的DAO组件* */ MyBatisRepository public interface EmpDao {void save(Emp emp);Emp findById(int id);Emp findById2(int id)…

gopro dataset_如何将GoPro安装到DSLR相机

gopro datasetIf you have a DSLR camera with a hot shoe, it’s easy to attach various flashes and other accessories right to your camera. But with a couple of cheap attachments on hand, you can mount your GoPro to your DSLR camera as well. 如果您的DSLR相机带…

音频 m4a 转 wav

背景最近做智能家居,需要用到一些应答词 需要自己录制。但是在mac下面通过 QuickTime 录制的是 m4a格式。但是应答词需要 wav格式。所以就需要转化了解决方法# sox 不行, ffmpeg 很麻烦,用 avconv 很简单。安装 如果没有就安装 # apt-get ins…

jQuery已经过时了,还需要学吗?

说起jQuery,很多刚参加工作的程序员都没用过,甚至没听过。曾几何时jQuery可是秒杀一切Js库,大有一统江山的情况,可是在顶峰的时候,瞬间被Vue、React、Angela三大框架斩于马下。从百度指数,我们也看出在2015…

Bootstrap01

Bootstrap01内容概要 一.使用Bootstrap的步骤 1.下载Bootstrap类库,包含三个部分,fonts,css,Bootstrap 2.导入项目中,在头部引入JQ,css和Bootstrap 注意:JQ要引入在Bootstrap前面! 3.使用css样式时,全部使用class属性 二.全局CSS概要 1.仅支持H5文档格式 2.移动设备优先,需要在…

ios raise_如何在iOS 10中关闭“ Raise to Wake”

ios raiseRaise to Wake is a new Lock screen feature available in iOS 10. It allows you to wake your phone’s screen simply by picking up your phone. This feature is on by default, but if you’d rather not use it, it’s simple to turn off. “唤醒”是iOS 10中…

资源调度器调研

2019独角兽企业重金招聘Python工程师标准>>> 场景描述: 异步触发和Crontab触发 YARN(Yet Another Resource Negotiator)Hadoop 资源管理器 主要构成: RM(ResourceManager)是一个全局的资源管理器,负责整个系统的资源管理和分配。…

WPF-19 IValueConverter接口

我们先来看看微软官方给出的定语:提供将自定义逻辑应用于绑定的方法,我们来看一下该接口的定义,Convert提供了将数据源到UI的格式化,ConvertBack表示反向namespace System.Windows.Data {//// Summary:// Provides a way to a…

JVM学习记录-类加载的过程

类的整个生命周期的7个阶段是:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)。 类加载的全过程主要包括:加载、验证、准备、解析、初始化这5个…

使用 Azure CLI 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型

以下步骤演示如何使用 Azure 命令行接口 (CLI) 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型。 本文中的操作需要 Azure CLI。 Note 此处描述的所有操作都是幂等的。 如果你遇到功能不受支持或配置错误以外的问题,建议你…

c++的进制转换函数

https://blog.csdn.net/u010003835/article/details/47665847https://blog.csdn.net/vir_lee/article/details/80645066strtol函数:用于由十进制转化到2~36的其他进制。函数原型为:long int strtol(const char *nptr,char **endptr,int base); 还应该注意…

黑苹果不能imessage_如何修复iMessage在iOS 10中不显示消息效果

黑苹果不能imessageiMessage got a huge update in iOS 10, adding things like third-party app integration, rich links, and a number of fun graphical effects for messages. If you’re seeing messages that say something like “(sent with Invisible Ink)” instead…

MyBatisPlus怎么忽略映射字段

TableField(exist false):表示该属性不为数据库表字段,但又是必须使用的。 TableField(exist true):表示该属性为数据库表字段。 Mybatis-Plus 插件有这个功能,可以看一下 TableName:数据库表相关 TableId&#xff1…

从技术总监到开源社区运营:过去两年,我都做了点啥?

这是头哥侃码的第267篇原创今天,这是我离开前公司的第 7 天。相信有不少吃瓜群众都很好奇,你这些天都在干啥?是不是蓬莱乐逍遥,过上了那悠闲的神仙日子?还是趁着疫情管控逐渐放开,和家人一起去深山老林里吸…

查看模拟器使用端口_为什么我们仍然使用模拟音频端口?

查看模拟器使用端口When leaks about what the chassis of the iPhone 7 might look like hit headlines earlier this week, technology columnists and industry analysts jumped on the chance to report that Apple’s next device may finally ditch its 3.5mm audio port…

ServletContextListener在Springboot中的使用

ServletContextListener是servlet容器中的一个API接口, 它用来监听ServletContext的生命周期,也就是相当于用来监听Web应用的生命周期。今天我们就来说说如何在Springboot 1.5.2这个轻量型框架中如何使用它。 其实配置ServletContextListener与其它Filter, Listener…