Zalenium

一个灵活和可扩展的基于容器的Selenium网格,具有视频录制、实时预览、基本授权和仪表盘功能。「A flexible and scalable container based Selenium Grid with video recording, live preview, basic auth & dashboard.」

Github星跟蹤圖

Build Status
Codacy Badge
codecov
GitHub release
Docker Pulls
Slack

:exclamation: Current project status: Looking for active maintainers

Zalenium is currently on maintenance mode, no new features are being implemented and bugs are fixed via PRs sent by community. The current maintainers only have time to review PRs and do releases.

Additionally, due to the changes being implemented on the upstream Selenium Grid 4.x, it is unlikely that Zalenium can be upgraded with the current resources. If this is to be achieved, more active maintainers are needed.

If you are interested in supporting the project, please create a GitHub issue expressing your interest.


This is a Selenium Grid extension to scale your local grid dynamically with docker containers. It uses
docker-selenium to run your tests in Firefox and Chrome locally, if you
need a different browser, your tests can get redirected to a cloud testing provider (Sauce Labs,
BrowserStack, TestingBot, CrossBrowserTesting, LambdaTest). Zalenium also works out of the box
in Kubernetes.

Zalenium's maintainers add new features regularly. We invite you to test it, report bugs, suggest any ideas you may
have, and contribute. See our contributing guidelines for more details.

Why?

Thanks for open sourcing this. Our test suite run time has dropped from more than an hour to six minutes. — @TKueck

We know how complicated it is to:

  • Have a stable grid to run UI tests with Selenium
  • Maintain it over time (keep up with new browser, Selenium and drivers versions)
  • Provide capabilities to cover all browsers and platforms

That is why we took this approach where docker-selenium nodes are
created on demand. Your UI tests in Firefox and Chrome will run faster because they are running on a local grid,
on a node created from scratch and disposed after the test completes.

If you need a capability that cannot be fulfilled by docker-selenium,
the test gets redirected to a cloud testing provider (Sauce Labs,
BrowserStack, TestingBot, CrossBrowserTesting, LambdaTest).

Zalenium's main goal is: to allow anyone to have a disposable and flexible Selenium Grid infrastructure.

Part of the idea comes from this Sauce Labs post.

What does Zalenium mean?

As you can imagine, it is the result of mixing Zalando and Selenium.
As mentioned before, this project's aim is to provide a simple way to create a grid and contribute to the Selenium community.
Nevertheless, this is not an official Selenium project. We kindly ask you to create
issues in this repository. If you have questions about how to get
started, please join the #zalenium channel on Slack.


Contents

Getting Started

Prerequisites

  • Docker engine running, version >= 1.11.1 (probably works with earlier versions, not tested yet).

  • Make sure your docker daemon is running (e.g. docker info works without errors).

  • Pull the docker-selenium image. docker pull elgalu/selenium

  • docker pull dosel/zalenium

Run it

  • Zalenium uses docker to scale on-demand, therefore we need to give it the docker.sock full access, this is known as
    "Docker alongside docker".

     # Pull docker-selenium
      docker pull elgalu/selenium
    
      # Pull Zalenium
      docker pull dosel/zalenium
    
      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
    
    • Why --privileged? We suggest you run Zalenium as --privileged to speed up the node registration process by
      increasing the entropy level with Haveged. Using --privileged is optional
      since it is just meant to improve its performance. For more information, check this
      tutorial.
  • Try also our one line installer and starter for OSX/Linux (it will check for the latest images and ask for missing dependencies.)

      curl -sSL https://raw.githubusercontent.com/dosel/t/i/p, bash -s start
    
  • More usage examples, parameters, configurations, video usage and one line starters can be seen here

  • After the output, you can check the grid console

  • Now you can point your Selenium tests to http://localhost:4444/wd/hub

  • Stop it: docker stop zalenium

Additional features

  • Video recording, check them in the /tmp/videos folder (or the one you mapped when starting Zalenium)
  • Customise video file naming via capabilities, basic auth and more

Documentation

Check the complete documentation at https://zalando.github.io/zalenium/

License

See License

Security

See Security

主要指標

概覽
名稱與所有者zalando/zalenium
主編程語言Java
編程語言Shell (語言數: 8)
平台
許可證Other
所有者活动
創建於2016-10-04 11:23:35
推送於2021-09-11 10:00:37
最后一次提交2020-06-14 22:06:05
發布數142
最新版本名稱3.141.59z (發布於 2020-03-24 10:10:19)
第一版名稱v0.1.0 (發布於 2016-10-09 16:40:19)
用户参与
星數2.4k
關注者數134
派生數571
提交數2k
已啟用問題?
問題數645
打開的問題數32
拉請求數550
打開的拉請求數4
關閉的拉請求數43
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?