简介
Zalenium 是一个Selenium Grid的扩展,它使用docker-selenium在本地运行基于Firefox和Chrome的测试,同样带有视频录制,实时预览,基本认证和仪表盘等功能;如果需要其他的浏览器,则需要用到云测试提供商(Sauce Labs,BrowserStack,TestingBot),当然这些是收费的。。。不过好在Firefox和Chrome是开源的,基本已经够用了。 Zalenium也可以在Kubernetes中使用。

安装
前置条件
- Docker version >= 1.11.1(可能适用于低版本,没有测试过)
- 运行
docker info
不会报错
下载镜像
docker pull elgalu/selenium
docker pull dosel/zalenium
下载成功后运行:
docker run --rm -ti --name zalenium -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /temp/videos:/home/seluser/videos --privileged dosel/zalenium start
默认只启动一个chrome container和一个Firefox container,如需启动多个则运行(添加参数--desiredContainers 4
):
docker run --rm -ti --name zalenium -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /temp/videos:/home/seluser/videos --privileged dosel/zalenium start --desiredContainers 4
查看zalenium的参数用-h --help
:
docker run --rm -ti --name zalenium -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /temp/videos:/home/seluser/videos --privileged dosel/zalenium start -h
等待zalenium准备,调用:http://localhost:4444/wd/hub/status 你将会看到类似如下返回值:
{
"status": 0,
"value": {
"ready": true,
"message": "Hub has capacity",
"build": {
"revision": "unknown",
"time": "unknown",
"version": "3.141.59"
},
"os": {
"arch": "amd64",
"name": "Linux",
"version": "4.9.125-linuxkit"
},
"java": {
"version": "1.8.0_212"
}
}
}
然后你将会看到:
- 命令行窗口
- Grid: http://localhost:4444/grid/console
- 实时预览:http://localhost:4444/grid/admin/live,可以增加
?refresh=numberOfSeconds
,自动刷新页面,例如:http://localhost:4444/grid/admin/live?refresh=20;?build=myTestBuild
,查看单个构建,例如:http://localhost:4444/grid/admin/live?build=myTestBuild
- Dashboard:http://localhost:4444/dashboard/#
或者可以用Docker Compose启动zalenium,docker-compose.yml
样例:
# Usage:
# docker-compose up --force-recreate
version: '2.1'
services:
#--------------#
zalenium:
image: "dosel/zalenium"
container_name: zalenium
hostname: zalenium