做web自动化的同学都知道selenium grid非常好用,但是环境配置特别麻烦,很多人都躺在了环境搭建。那么有没有更简单的方式呢,答案是肯定的,今天我们就用docker来完成它,希望对大家有帮助。
一、环境准备
准备一台 Linux 服务器(云服务器、自建 Linux 服务器都可以)
在 Linux 服务器上安装 docker,docker安装就不讲了,照着官网的命令来就可以了,很简单的。
二、准备开工
第一步:拉取docker官方镜像
拉取hub镜像:
docker pull selenium/hub
拉取chrome浏览器镜像:
docker pull selenium/node-chrome
第二步:启动Hub节点的docker
docker run -p 5555:4444 -d --name hub selenium/hub
-
-d:后台运行容器
-
-p 5555:4444:将宿主机端口5555与容器端口4444做映射
第三步:启动Node节点的docker
docker run -P -d --link hub:hub --name chrome selenium/node-chrome
-
-P:暴露默认端口
-
-d:后台运行容器
-
–link:链接hub容器
第四步:验证环境搭建是否成功
浏览器访问:http://192.168.1.66:5555/grid/console
看到有你映射的浏览器版本和图标就成功了
第五步:上代码
import time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilitiesimport DesiredCapabilities
driver = webdriver.Remote(command_executor='http://192.168.1.66:5555/wd/hub',desired_capabilities=DesiredCapabilities.CHROME)
driver.get('https://www.baidu.com')
print("跑起来吧......")
time.sleep(2)
print("获取百度的title:",driver.title)
driver.quit()
print("跑完了......")
脚本截图如下:
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!