zoukankan      html  css  js  c++  java
  • 云端远程Ubuntu系统进行无桌面Web浏览器自动化测试

    【摘要】 利用xvfb提供的显卡帧缓冲区,让浏览器以为有桌面,以达到无桌面系统下测试真实浏览器兼容性的目的。

    自动化web界面测试往往需要验证真实浏览器的兼容性,但是云端系统往往并不提供图形化的桌面,所以自动化web界面测试在云端就成为一个问题。本文描述了一个技巧解决这个问题,其主要原理是利用xvfb提供的显卡帧缓冲区,让浏览器以为有桌面。

    Install xvfb in ubuntu

    sudo apt install xvfb
    cat > /etc/init.d/xvfb <<”EOF“
    XVFB=/usr/bin/Xvfb
    XVFBARGS=":99 -screen 0 1024x768x24 -fbdir /var/run -ac"
    PIDFILE=/var/run/xvfb.pid
    case "$1" in
     start)
       echo -n "Starting virtual X frame buffer: Xvfb"
       start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
       echo "."
       ;;
     stop)
       echo -n "Stopping virtual X frame buffer: Xvfb"
       start-stop-daemon --stop --quiet --pidfile $PIDFILE
       echo "."
       ;;
     restart)
       $0 stop
       $0 start
       ;;
     *)
           echo "Usage: /etc/init.d/xvfb {start|stop|restart}"
           exit 1
    esac
    EOF
    chmod +x /etc/init.d/xvfb
    export DISPLAY=:99.0
    /etc/init.d/xvfb start

    Install chrome in ubuntu

    sudo apt-get install libxss1 libappindicator1 libindicator7
    sudo apt-get install -f wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo dpkg -i google-chrome*.deb
    sudo ln -s /usr/bin/google-chrome /usr/bin/chrome

    Install chromedriver in ubuntu

    wget http://chromedriver.storage.googleapis.com/2.25/chromedriver_linux64.zip
    unzip chromedriver_linux64.zip
    sudo mv chromedriver /usr/bin/

    Install firefox in ubuntu

    sudo apt install firefox

    Install geckodriver for firefox in ubuntu

    wget https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-linux64.tar.gz
    tar zxf geckodriver-v0.11.1-linux64.tar.gz
    sudo mv geckodriver /usr/bin/

    如上安装设置完毕之后,在本地Ubuntu桌面环境下开发调试通过的自动化测试,就可以在远程Ubuntu顺利跑了。

    来源:华为云社区  作者:divfor

  • 相关阅读:
    SpringBoot笔记(一)
    线程同步(JAVA笔记-线程基础篇)
    图解JAVA线程的几个状态(JAVA笔记-线程基础篇)
    四种线程池的使用(JAVA笔记-线程基础篇)
    三种使用线程的方法(JAVA笔记-线程基础篇)
    图解数据结构——链表
    工作中Selenium常用方法汇总java版(工作笔记)
    【Spring】IoC容器
    【Spring】IoC容器
    【Spring】IoC容器
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165748.html
Copyright © 2011-2022 走看看