zoukankan      html  css  js  c++  java
  • centos7.4环境配置selenium+python3+chrome环境

    在基于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 

    linux安装python3及pip3参考这篇博客https://www.cnblogs.com/fcc-123/p/11586707.html

    然后可以将刚刚下载的解压包和解压出来的文件夹删掉。安装成功后,可以输入 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

    下载对应的版本,命令如下(下载自己对应的chrome版本):

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

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

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

    然后改变用户执行的权限,输入命令 sudo chmod +x /usr/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 

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

    若以上环境装完后,还不可以运行:

    https://npm.taobao.org/mirrors/chromedriver/ 可以手动将下载的chromedriver 放到脚本同级目录调用

    测试代码:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--no-sandbox') # 禁止沙箱模式,否则肯能会报错遇到chrome异常
    driver = webdriver.Chrome(executable_path="./chromedriver", options=chrome_options)
    #driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")

    print(driver.title)

    参考文档: https://blog.51cto.com/14190441/2405568?source=dra

                       https://www.cnblogs.com/myvic/p/9450134.html

          https://segmentfault.com/a/1190000019459125?utm_source=tag-newest

          https://cloud.tencent.com/developer/article/1432921

          https://www.jianshu.com/p/b5f3025b5cdd

             https://blog.csdn.net/jwzhichitianya/article/details/82022262

          https://www.cnblogs.com/imyalost/p/9079076.html

  • 相关阅读:
    UVA 10564 Paths through the Hourglass DP
    HDU 3397 Sequence operation 线段树 成段更新 区间合并
    HDU 3308 LCIS 线段树 单点更新+区间合并
    POJ 3667 Hotel 线段树 区间合并
    UVALive 3942 Remember the Word Tire+DP
    POJ 1703 Find them, Catch them
    UVA 1366 Martian Mining DP
    UVA 1456 Cellular Network 贪心+DP
    UVA 11573 Ocean Currents
    【ACM】hdu_zs1_1003_放大的X _201307271557
  • 原文地址:https://www.cnblogs.com/fcc-123/p/12015142.html
Copyright © 2011-2022 走看看