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