通过docker selenium grid 分布式兼容测试
1、安装docker desktop
官网下载适合的系统版本安装。
安装打开可能需要安装文件或者开启。
2、下载镜像
docker pull selenium/hub
docker pull selenium/node-firefox
docker pull selenium/node-chrome
3、运行镜像
3.1启动selenium-hub
docker run -p 5555:4444 -d --name hub selenium/hub
run 是让我们运行一个镜像,创建出一个容器。
运行的镜像名字叫做selenium/hub
-p 5555:4444 这个是把容器里的端口映射出来,让别人可以访问。
-d 在后台运行
--name 给这个容器起一个容易明白的名字,这里我就直接把这个容器成为hub。
3.2启动selenium-node
输入命令
docker run -P -d --link hub:hub --name firefox selenimu/node-firefox
docker run -P -d --link hub:hub --name chrome selenimu/node-chrome
--link 是链接别名为hub的容器
4、查看运行中的镜像
输入命令docker ps
5、查看hub中注册的node 节点
http://192.168.99.100:5555/grid/console (hub的ip,本地起的话就是本地地址)
6、查看运行中的节点 信息
输入命令docker logs hub
7、demo 测试
# coding=utf-8 from selenium import webdriver chrome_capabilities ={ "browserName": "chrome", "version": "", "platform": "ANY", "javascriptEnabled": True, # "marionette": True, } browser = webdriver.Remote("http://192.168.99.100:5555/wd/hub", desired_capabilities=chrome_capabilities) browser.get("http://www.163.com") browser.get_screenshot_as_file(r"D:/sample/chrome.png") browser.quit()
8、安装debug 版本
输入命令
docker pull selenium/node-chrome-debug
docker pull selenium/node-firefox-debug
9、使用vnc viewer 查看容器内运行