zoukankan      html  css  js  c++  java
  • Web UI自动化(ubuntu系统,python3.6)

    在ubuntu系统中搭建python3.6.4+selenium+chrome,实现无界面上运行web前端自动化测试

    一、ubuntu系统16.04自带了python2.7和python3.5 ,需要安装python3.6.4步骤:

    1、使用 wget 命令下载 Python3.6.4 安装包:wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

    2、使用 tar 命令对 Python3.6.4 进行解压:tar zxvf Python-3.6.4.tgz

    3、进入 Python-3.6.4 目录:cd Python-3.6.4

    4、编译安装,执行 ./configure 脚本:./configure

    5、执行安装:make make install

    安装完成后使用python3.6 检查是否安装成功,然后使用pip3.6 install selenium 如果能正常安装,说明python3.6 安装完成

    如果pip安装失败, 提示:pip is configured with locations that require TLS/SSL .......

    1.在使用pip的时候需要ssl,通过命令先安装openssl 和 libssl-dev:apt-get install openssl apt-get install libssl-dev

    2.cd Python-3.6.4

    3.修改Modules/Setup

    vim Modules/Setup
    #修改结果如下:
    # Socket module helper for socket(2)
    _socket socketmodule.c timemodule.c

    # Socket module helper for SSL support; you must comment out the other
    # socket line above, and possibly edit the SSL variable:
    #SSL=/usr/local/ssl
    _ssl _ssl.c
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl
    -L$(SSL)/lib -lssl -lcrypto

    4.再次进行 ./configure --with-ssl

    5.执行安装:make make install

    二、安装Chrome

    下载命令行chrome: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

    通过命令安装: sudo dpkg -i google-chrome-stable_current_amd64.deb

    也可参考其他方式进行安装

    三、安装Chromedriver

    在这里 找到自己需要的chromedrive (匹配Chrome版本)

    解压后,传入ubuntu系统中

    配置chromedriver为可执行,参考如下:

    sudo mv -f chromedriver /usr/local/share/chromedriver

    sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver

    sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

    进入到/usr/bin 目录下 find chromedriver 是否存在

    不存在 sudo mv chromedriver /usr/bin 将文件移到这个目录下

    修改chromedriver的权限 sudo chmod a+x chromedriver

    四、安装Xvfb(可参考这里)

    使用 命令安装Xvfb sudo apt-get update && sudo apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic Xvfb x11-apps imagemagick firefox google-chrome-stable

    测试是否安装成功:

    1、启动Xvfb服务 : Xvfb -ac :7 -screen 0 1280x1024x8 (注意这个是x, 不是* 哦)

    2、export DISPLAY=:7

    /usr/bin/google-chrome-stable http://www.mimvp.com // chrome 浏览www.mimvp.com

    如果运行完后,出现:

    Xlib: extension "RANDR" missing on display ":7"

    you made it. 这是个无关紧要的信息,之前我试图解决掉它,没有成功。最后我在运行selenium脚本后,完全没有出现这个信息,脚本执行很正常,所以现在我把它当做是安装成功的信息。

    这种方式启动的服务(第二天,通过这种方式启动的服务就关闭了,关闭操作不清楚后续研究)

    创建一个服务,先 touch /etc/init.d/Xvfb

    脚本如下:

    #! /bin/bash
    if [ -z "$1" ]; then
    echo "`basename $0` {start|stop}"
    exit
    fi

    case "$1" in
    start)
    /usr/bin/Xvfb :7 -ac -screen 0 1024x768x8 &
    ;;
    stop)
    killall Xvfb
    ;;
    esac
    修改脚本权限,启动服务:

    chmod +x /etc/init.d/Xvfb
    chkconfig Xvfb on
    service Xvfb start

    停止服务的话就是: service Xvfb stop

    五、测试脚本

    通过命令先安装pyvirtualdisplay:sudo pip install pyvirtualdisplay

    脚本参考如下:

    from pyvirtualdisplay import Display
    from selenium import webdriver
    import time
    display = Display(visible=0, size=(1024, 768))
    display.start()
    driver = webdriver.Chrome()
    time.sleep(1)
    driver.get('http://www.baidu.com')
    time.sleep(10)
    print (driver.page_source)
    driver.save_screenshot('/home/test/test.png')
    time.sleep(2)
    driver.close()
    driver.quit()
    display.stop()
    使用python3.6 +脚本文件名,运行脚本

  • 相关阅读:
    转:struts2的s:iterator 标签 详解
    转载:jquery 获取和设置 select下拉框的值
    转载:Linux下Tomcat配置
    document、element、node方法
    .NET平台下Web测试工具横向比较
    PhotoShop中让索引图片解锁使用
    改变FileUpLoader 样式 (FileUpLoader js)
    【收藏下】ashx+jQuery,一个轻量级的asp.net ajax解决方案
    TopCoder入门教程
    调用API
  • 原文地址:https://www.cnblogs.com/lxf3247/p/12342521.html
Copyright © 2011-2022 走看看