美文网首页java学习
利用Docker搭建Python+Selenium的自动测试环境

利用Docker搭建Python+Selenium的自动测试环境

作者: e2f7c980cdca | 来源:发表于2018-09-18 15:21 被阅读186次

    前两天看一系列视频,恶补了一下Docker,而最近在搞一个Youtube网页框架上传的脚本,需要放到服务器下跑一下,发现需要的不同环境和依赖各种不同,还不如配置好Docker直接跑更方便.

    这个镜像基于Python+Selenium+chromium+xvfb搭建,可以在仓库找到这个镜像,现在上传了2个版本3.7-slim3.7-stretch

    流程:
    1.需要先下载ChromeDriver,因为搭建过程发现中间环节下载的会出错,所以我下载到本地导入
    目前Chrome浏览器的版本是69,对应的ChromeDriver版本是2.41,文件名:chromedriver_linux64.zip
    2.本地建立一个文件:xvfb-chromium

    #!/bin/bash
    
    _kill_procs() {
      kill -TERM $chromium
      wait $chromium
      kill -TERM $xvfb
    }
    
    # Setup a trap to catch SIGTERM and relay it to child processes
    trap _kill_procs SIGTERM
    
    XVFB_WHD=${XVFB_WHD:-1280x720x16}
    
    # Start Xvfb
    Xvfb :99 -ac -screen 0 $XVFB_WHD -nolisten tcp &
    xvfb=$!
    
    export DISPLAY=:99
    
    chromium --no-sandbox $@ &
    chromium=$!
    
    wait $chromium
    wait $xvfb
    

    3.创建Dockerfile,这里用到的底包是python:3.7-slim,这是Python官方镜像的底包,如果要编译环境使用python:stretch

    FROM python:3.7-slim
    RUN apt-get update && apt-get install -y curl xvfb chromium unzip libgconf-2-4
    ADD xvfb-chromium /usr/bin/xvfb-chromium
    ADD chromedriver_linux64.zip /home/chromedriver_linux64.zip
    RUN ln -s /usr/bin/xvfb-chromium /usr/bin/google-chrome
    RUN ln -s /usr/bin/xvfb-chromium /usr/bin/chromium-browser
    ENV CHROMEDRIVER_VERSION 2.41
    ENV CHROMEDRIVER_SHA256 71eafe087900dbca4bc0b354a1d172df48b31a4a502e21f7c7b156d7e76c95c7
    RUN echo "$CHROMEDRIVER_SHA256  /home/chromedriver_linux64.zip" | sha256sum -c - \
        && unzip "/home/chromedriver_linux64.zip" -d /usr/local/bin \
        && rm "/home/chromedriver_linux64.zip"
    RUN pip install pytest selenium
    WORKDIR /usr/src/app
    CMD bash
    

    4.建立一个文件夹,如image,输入命令,自动建立

    docker build -t="sexjpg/py3_xvfb_chromium:3.7-slim" .
    
    image.png

    3.7-stretch搭建完成图


    image.png

    5.建立后,输入命令,检查搭建效果

    docker run -it sexjpg/py3_xvfb_chromium:3.7-slim
    

    效果图


    image.png

    相关文章

      网友评论

        本文标题:利用Docker搭建Python+Selenium的自动测试环境

        本文链接:https://www.haomeiwen.com/subject/ciounftx.html