目的:學習使用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信息的环境变量