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