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 持续集成部分见下章

posted on 2020-05-16 23:05  yusheng_ys  阅读(2336)  评论(1编辑  收藏  举报