目的:學習使用docker搭建常見的測試服務(grid,普羅米修斯)
大綱:
1.使用docker selenium搭建分佈式UI自動化實踐(基於grid的解決方案)
2.使用docker搭建基於普羅米修斯的監控體系.
docker run --name=hub -p 5000:4444 -e GRID_TIMEOUT=0 -e GRID_THROW_ON_CAPABILTY_NOT_PRESENT=true -e GRID_NEW_SESSION_WAIT_TIMEOUT=-1 -e GRID_BROWSER_TIMEOUT=15000 -e GRID_TIMEOUT=30000 -e GRID_CLEAN_UP_CYCLE=30000 -d selenium/hub:3.7.1-beryllium
Unable to find image 'selenium/hub:3.7.1-beryllium' locally
docker run --name=chrome -p 5901:5900 -e NODE_MAX_INSTANCES=2 -e NODE_MAX_SESSION=2 -e NODE_REGISTER_CYCLE=5000 -e DBUS_SESSION_BUS_ADDRESS=/dev/null -v /d/docker/dev/shm:/dev/shm --link hub -d selenium/node-chrome-debug:3.7.1-beryllium
説明:
1.参数详情可访问github官网查看 github.com-》查询docker-selenium-》seleniumHQ/docker-selenium
2.-e NODE_MAX_INSTANCES=6 -e NODE_MAX_SESSION=6 控制启动的浏览器的数量是6个,一般设置相同的参数
3.–link hub 把hub容器,即master节点容器ip地址及端口号相关内容(网络信息)注入到node容器上,这样node容器才能访问master节点,注意link只能作用于同一台机器里面,若node和hub不在同一台机器不行(-》看5)
4.一般在机器1上搭建hub,机器2上搭建node,链接到hub上
5.若node和hub不在同一台机器不用–link,只要知道master的IP和端口号即可,如下–link hub换成 -e HUB_PORT_4444_TCP_PORT=4444 HUB_PORT_4444_TCP_AGGR=xxx.xxx.xxx
搭建普罗米修斯容器命令start_pro.sh
运行脚本
bash start_pro.sh
配置文件prometheus.yaml
查看监控列表
访问普罗米修斯网站:prometheus.io-》download-》下载node_exporter二进制文件-》保存进node_exporter目录,可通过cd进目录运行二进制文件可启动容器-》创建start_node_exporter.sh
文件内容如下,直接运行命令bash start_node_exporter.sh。
start_node_exporter.sh
启动grafana
启动mysql,并安装mysql_exporter
说明:
-e 指定root用户的密码
说明:
-e 告诉exporter用户名是root和密码,IP和端口号(宿主机映射端口号)/监控的是mysql这个库
ycwdaaaa
小知识:
1.pytest用例依赖:
1.1fixture
1.2depend
注意depend与并发设置xdist冲突,可以用fixture,或者运行多个shell命令来达到并发的效果
2.docker exec -it chrome bash
env | grep HUB 过滤所有带HUB信息的环境变量