zalenium是一種以容器方式來動態創建和管理本地Selenium Grid的擴展。它使用docker-selenium在本地運行基於Firefox和Chrome的測試。
前提條件
1、安裝Docker Engin,版本 > = 1.11.1(可能適用於早期版本,尚未測試)。
2、docker daemon 正在運行(例如,docker info可以正常工作)。
準備
1、拉取 docker-selenium鏡像。
docker pull elgalu/selenium
注:這裏拉取的是非官方的docker-selenium鏡像。
2、拉取zalenium鏡像。
docker pull dosel/zalenium
運行
zalenium 用docker來動態按需擴展瀏覽器容器實例,所以我們需要將主機的docker.sock掛載到zalenium容器中。
--privileged 爲可選項,建議運行zalenium的privileged參數,通過Haveged增加熵(entropy)水平節點註冊過程的速度。因爲它可以提高其性能。
docker run --rm -ti --name zalenium -p 4444:4444 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /tmp/videos:/home/seluser/videos \ --privileged dosel/zalenium start
停止運行
docker stop zalenium
快速測試
使用selenium.Remote連接雲服務http://localhost:4444/wd/hub:
from selenium import webdriver import time caps = { 'platform': 'ANY', 'browserName': 'chrome', 'version': '', # 'zal:name': '測試百度搜索', # 指定zelenium中會話的名稱 # 'zal:tz': 'Asia/Shanghai', # 設置zelenium中的時區 } dr = webdriver.Remote('http://localhost:4444/wd/hub', desired_capabilities=caps) dr.get('https://www.baidu.com') dr.find_element('id', 'kw').send_keys('2021') dr.find_element('id', 'su').click() dr.quit()
其他功能
Dashboard控制面板,在測試完成後,可以查看所有的測試的視頻回放和日誌。
可以在瀏覽器中訪問:http://localhost:4444/dashboard查看。
注意:視頻錄製,默認在/tmp/videos文件夾可以找到保存的視頻。
更多功能:https://opensource.zalando.com/zalenium/#docker