自动化测试-ui自动化+docker

概述

在docker里面创建UI自动化测试平台

搭建环境

安装docker

详细见docker官方文档

安装selenoid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
docker pull aerokube/selenoid:latest-release
mkdir -p /data/config
vim /data/config/browsers.json
---------------------------
{
"firefox": {
"default": "57.0",
"versions": {
"57.0": {
"image": "selenoid/vnc:firefox_57.0",
"port": "4444",
"path": "/wd/hub"
}
}
}
}
---------------------------

docker run -d \
--name selenoid \
-p 14444:4444 \
-v /data/config:/etc/selenoid/:ro \
-v /var/run/docker.sock:/var/run/docker.sock \
aerokube/selenoid:latest-release

注意:最好使用其他的端口转发4444端口。4444端口不是安全的,应该禁止掉。

安装selenoid ui

1
2
3
4
5
docker pull aerokube/selenoid-ui
如果selenoid是跟selenoid-ui安装在一起的话,那么需要查看selenoid的IP
>>> ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 | awk '{ print $2 }' | cut -f2 -d: | head -n1
>>> 172.17.0.1
>>> docker run -d --name selenoid-ui -p 8080:8080 aerokube/selenoid-ui --selenoid-uri http://172.17.0.1:14444

操作

在本地写好脚本,用python撸了一个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import selenium 
from selenium import webdriver

capabilities = {
"browserName": "firefox",
"version": "57.0"
}

driver = webdriver.Remote(
command_executor="http://192.168.31.236:4444/wd/hub",
desired_capabilities=capabilities)

driver.get('https://www.baidu.com')
print(driver.title)

然后你就可以看到成功运行的样子
image

总结

然后打开 http://yourip:8080 就可以打开相应的webUI界面,在这里我们可以看到selenoid的使用方法,最后编写相应的脚本放上去跑就可以了。