zoukankan      html  css  js  c++  java
  • selenoid+docker+selenium运行UI自动化

    目的

    使用selenoid运行UI自动化测试脚本(运行过程可视化,支持多版本浏览器同时运行,可录像),结合jenkins的使用完成持续集成和自动构建

    selenoid简介

    [selenoid官方文档] https://aerokube.com/selenoid/latest/
    [github] https://github.com/aerokube/selenoid

    使用docker安装selenoid

    1、拉取相关镜像

    命令:

          docker pull aerokube/selenoid:latest-release
          docker pull aerokube/selenoid-ui
          //拉取一个浏览器镜像
          docker pull selenoid/vnc:chrome_78.0
    

    查看镜像

    docker images
    

    编辑浏览器配置文件

    文件命名:config/browsers.json
    json内容:在版本添加刚才拉取的浏览器镜像版本

    {
        "chrome": {
            "default": "78.0",
            "versions": {
    		"78.0": {
                    "image": "selenoid/vnc:chrome_78.0",
                    "port":"4444",
    		"path":"/",
                    "env" : ["LANG=ru_RU.UTF-8", "LANGUAGE=ru:en", "LC_ALL=ru_RU.UTF-8"]
                }
            }
        }
    }
    

    运行镜像,根据官方文档相关说明

    命令

    docker run -d --name selenoid -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /selenoid/config/:/etc/selenoid/:ro aerokube/selenoid
    

    运行成功后显示:

    浏览器打开:

    ip:4444

    运行selenoid-ui

    官方文档

    http://aerokube.com/selenoid-ui/latest/

    命令:

    docker run -d --name selenoid-ui -p 8080:8080 aerokube/selenoid-ui --selenoid-uri http://${DOCKER_GATEWAY_ADDR}:4444

    浏览器打开

    可以看到我们刚才我们配置文件里的浏览器版本,以及各种语言的配置方式。
    ip:8080

    代码配置

    对应的浏览器中查看运行状态方式如下图:


    截止到目前为止,已经完成脚本在docker 容器中运行,接下来配置testNG,github,jenkins

    testNG配置:

    管理你要运行的测试用例


    上传代码到github仓库:

    已经查看到刚才的提交记录:

    使用docker 部署jenkins:

    docker部署jenkins指南:

    https://hub.docker.com/_/jenkins/

    拉取jenkins镜像:

    docker pull jenkins/jenkins:lts

    运行jenkins镜像:

    此处使用8081端口,8080已经被selenoi-ui占用
    docker run -d --name jenkins -p 8081:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

    浏览器输入

    ip:8081 已经看到jenkins可以正常运行

    根据提示获取密码,输入密码,进入jenkins:


    jenkins 持续集成部分见下章

  • 相关阅读:
    vue Can't resolve 图片
    TP-LINK WR740N中继设置,AP设置,设置后不能上网,亲测有效
    vue VSCode 开发设置(html自动补全、eslint保存时格式化、vetur 格式化html)
    不再手写import
    vscode vuter的快捷键 关键字
    prototype是什么?
    真有效值与有效值概念
    现代文经典
    古文经典
    最后,我想对你说一句:我爱你
  • 原文地址:https://www.cnblogs.com/roch/p/12902155.html
Copyright © 2011-2022 走看看