Docker 极大的提高了自动化的效率,并且为分布式测试提供了理想的环境。在 Docker之前,启动 Selenium Grid 是非常耗时的事情。使用 Docker 之后,自动化能以更高的效率进行扩展。
安装步骤
拉取所需镜像
目前使用到两个镜像:
docker pull selenium/hub
docker pull selenium/node-chrome
启动对应的 Docker 镜像
按 Selenium Docker 官方 GitHub 上的推荐方式启动如下:
docker network create grid
docker run -d -p 4444:4444 --net grid --name selenium-hub selenium/hub
docker run -d --net grid -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome
服务启动之后,可以通过 http://127.0.0.1:4444/grid/console
看到对应的节点:
运行测试脚本
from selenium import webdriver
import time
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME)
driver.get('http://www.baidu.com/')
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("docker")
driver.find_element_by_xpath('//*[@id="su"]').click()
time.sleep(1)
driver.get_screenshot_as_file("test.png")
driver.quit()
0 评论
评论已关闭