zalenium 應用


zalenium是一個Selenium Grid擴展,用Docker容器動態擴展你的本地網格。它使用docker-selenium在本地運行Firefox和Chrome中的測試,如果需要不同的瀏覽器,你的測試可以重定向到雲測試提供商(Sauce Labs,BrowserStack,TestingBot)。 Zalenium也可以在Kubernetes中使用。

繁雜的問題:

  • 有一個穩定的網格來運行Selenium的UI測試
  • 隨着時間的推移保持它(跟上新的瀏覽器,Selenium和驅動程序版本)
  • 提供涵蓋所有瀏覽器和平台的功能

這就是為什么開發zalenium的原因,在需求中創建了docker-selenium節點。在Firefox和Chrome中進行的UI測試將運行得更快,因為它們在本地網格上運行,在從頭開始創建並在測試完成后處理的節點上運行。

如果需要docker-selenium無法實現的功能,測試會重定向到雲測試提供程序(Sauce Labs,BrowserStack,TestingBot)。

Zalenium的主要目標是:允許任何人擁有一次性和靈活的Selenium Grid基礎設施。


### zalenium的由來

由Zalando和Selenium兩個單詞組成。如前所述,這個項目的目的是提供一個簡單的方法來創建一個Grid,並服務於Selenium社區。不過,這不是一個正式的Selenium項目。

注:Zalando只是一個電商平台。Zalenium由該平台的研發團隊開發與維護。


### 安裝

如果你從未安裝和使用過Docker ,請參考 Docker教程

1、安裝Docker Engin,版本 > = 1.11.1(可能適用於早期版本,尚未測試)。

2、docker daemon 正在運行(例如,docker info可以正常工作)。

3、拉取 docker-selenium鏡像。

$ sudo docker pull elgalu/selenium

注:這里拉取的是非官方的docker-selenium鏡像。

4、拉取zalenium鏡像。

$ sudo docker pull dosel/zalenium

速度太慢,可以使用國內鏡像:

https://www.docker-cn.com/registry-mirror

查看鏡像:

$ sudo docker images
REPOSITORY        TAG       IMAGE ID       CREATED       SIZE   
elgalu/selenium   latest    9d39de56e57b   3 days ago    1.4GB
dosel/zalenium    latest    e5a39a962b2c   8 days ago    746MB

### 運行

Zalenium使用docker來按需擴展,因此我們需要為docker.sock提供完全的訪問權限,這就是所謂的“Docker alongside docker”。

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

--privileged 為可選項,建議運行zalenium的privileged參數,通過Haveged增加熵(entropy)水平節點注冊過程的速度。因為它可以提高性能。

准備測試腳本

grid_demo.py

from selenium import webdriver
from time import sleep

driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities={'browserName': 'chrome'})

driver.get('https://www.baidu.com')
driver.find_element_by_id("kw").send_keys("docker selenium")
driver.find_element_by_id("su").click()
sleep(1)
driver.quit()

現在可以運行測試了,通過 http://localhost:4444/wd/hub 主節點。

$ python3 grid_demo.py

### 附加屬性

相比於官方的docker-selenium,zalenium最直觀的感受的就在此處。

通過瀏覽器后台執行Selenium總有一種不安全的感覺,zalenium可以將腳本的執行錄制成視頻,供你回放觀看。不過,我這里提示:“沒有找到支持的視頻格式和MIME類型”也許是因為我的Ubuntu沒有安裝視頻播放器。好在還有Logs可以查看。
視頻錄制,默認在/tmp/videos文件夾可以找到保存的視頻。

當運行測試腳本的過程中,可以通過該頁面觀看腳本的執行過程,這功能還是666的。

更多用法:

https://zalando.github.io/zalenium/#usage


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM