All Projects → TilBlechschmidt → WebGrid

TilBlechschmidt / WebGrid

Licence: MIT License
Decentralized, scalable and robust implementation of a selenium-grid equivalent. Based on the WebDriver specification by the W3C.

Programming Languages

rust
11053 projects
Svelte
593 projects
shell
77523 projects
Mustache
554 projects
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to WebGrid

Docker Selenium
Docker images for the Selenium Grid Server
Stars: ✭ 5,476 (+32111.76%)
Mutual labels:  webdriver, selenium, selenium-grid, selenium-node
callisto
Callisto is an open-source Kubernetes-native implementation of Selenium Grid.
Stars: ✭ 83 (+388.24%)
Mutual labels:  webdriver, selenium, selenium-grid
nightwatch101
使用 Nightwatch 實現 End-to-End Testing ★
Stars: ✭ 42 (+147.06%)
Mutual labels:  webdriver, selenium
selenified
The Selenified Test Framework provides mechanisms for simply testing applications at multiple tiers while easily integrating into DevOps build environments. Selenified provides traceable reporting for both web and API testing, wraps and extends Selenium calls to more appropriately handle testing errors, and supports testing over multiple browser…
Stars: ✭ 38 (+123.53%)
Mutual labels:  selenium, selenium-grid
Selenium-Foundation
Selenium Foundation is an automation framework designed to extend and enhance the capabilities provided by Selenium (WebDriver).
Stars: ✭ 51 (+200%)
Mutual labels:  selenium, selenium-grid
spydriver
🕵️ Lightweight utility to intercept WebDriver and WebElement method calls.
Stars: ✭ 24 (+41.18%)
Mutual labels:  webdriver, selenium
SeleniumTDD
A Selenium TDD framework that incorporates key features of Selenium and TestNG which can be used to create web-based automation scripts.
Stars: ✭ 23 (+35.29%)
Mutual labels:  webdriver, selenium
SeleniumDemo
Selenium automation test framework
Stars: ✭ 84 (+394.12%)
Mutual labels:  selenium, selenium-grid
google-meet-bot
Bot for scheduling and entering google meet sessions automatically
Stars: ✭ 33 (+94.12%)
Mutual labels:  webdriver, selenium
selenium-grid-docker-swarm-test
Distribute automated tests with Selenium Grid and Docker Swarm
Stars: ✭ 28 (+64.71%)
Mutual labels:  selenium, selenium-grid
Mobilenium
Mobilenium allows you to use Selenium and have access to status codes and HTTP headers, without the need for manual labor.
Stars: ✭ 22 (+29.41%)
Mutual labels:  webdriver, selenium
arquillian-graphene
Robust Functional Tests leveraging WebDriver with flavour of neat AJAX-ready API
Stars: ✭ 91 (+435.29%)
Mutual labels:  webdriver, selenium
basic-selenium-project
an example selenium test project
Stars: ✭ 55 (+223.53%)
Mutual labels:  webdriver, selenium
selenium-grid-docker-swarm
web scraping in parallel with Selenium Grid and Docker
Stars: ✭ 32 (+88.24%)
Mutual labels:  selenium, selenium-grid
WebDriver
Web Driver UDF for AutoIt
Stars: ✭ 74 (+335.29%)
Mutual labels:  webdriver, w3c
phoenix.webui.framework
基于WebDriver的WebUI自动化测试框架
Stars: ✭ 118 (+594.12%)
Mutual labels:  webdriver, selenium
selenium-openapi
The missing Selenium OpenAPI spec
Stars: ✭ 25 (+47.06%)
Mutual labels:  webdriver, selenium
Selion
Enabling Test Automation in Java
Stars: ✭ 252 (+1382.35%)
Mutual labels:  webdriver, selenium
chef-selenium
Chef cookbook to install and configure Selenium
Stars: ✭ 17 (+0%)
Mutual labels:  selenium-grid, selenium-node
hcaptcha-solver-python-selenium
hCaptcha solver and bypasser for Python Selenium. Simple website to try to solve hCaptcha.
Stars: ✭ 32 (+88.24%)
Mutual labels:  webdriver, selenium

WebGrid

Banner

Install | Usage | Docs

Contributor Covenant GitHub
Maintenance GitHub last commit
You have an idea for a logo? Submit it here!


  • Cluster ready. Designed with concurrency and on-demand scalability1 in mind
  • Debuggable. Provides browser screen recordings, extensive logs, and tracing
  • Fast. Built for speed and performance on a single grid instance
  • W3C Specification compilant. Fully compatible with existing Selenium 4 clients

1All the way down to zero, obviously


Install

Below are quick-start tutorials to get you started. For a more detailed introduction visit the dedicated Getting Started guide!

🐳 Docker

To run a basic grid in Docker you can use Docker Compose. Below is a bare-bones example of getting all required components up and running!

# Create prerequisites
docker network create webgrid

# Download compose file
curl -fsSLO webgrid.dev/docker-compose.yml

# Launch the grid
docker-compose up

You can now point your Selenium client to localhost:8080 and browse the API at /api.

☸️ Kube

For deployment to Kubernetes a Helm repository is available. The default values provide a good starting point for basic cluster setups like K3s or microk8s.

# Add the repository
helm repo add webgrid https://webgrid.dev/

# List all available versions
helm search repo --versions --devel webgrid/demo

# Install the chart
helm install example webgrid/demo --version "<pick-a-version-from-the-list>"

# Make it accessible locally for evaluation
kubectl port-forward service/example-webgrid 8080:80

Your grid is now available at localhost:8080.

If you are deploying to a RBAC enabled cluster you might have to tweak some settings. Take a look at the documentation on how to use your own ServiceAccount and PersistentVolumeClaims.

Usage

Once you have your grid up and running there is a couple of things you can do!

🚀 Launch browser instances

Point your selenium client to http://localhost:8080 to create a new browser container/pod and interact with it! You can use all features supported by Selenium.

🔍 Browse the API

The grid provides a GraphQL API at /api with a Playground for you to explore. It exposes all available metadata about sessions, grid health and advanced features like video recordings.

📺 Watch your browsers

You can take a live look at what your browsers are doing by taking the Session ID of a instance and visiting localhost:8080. You can also embed the videos in your existing tools! Head over to the embedding documentation to learn how.

Note:
Video recordings are disabled by default in K8s as every cluster has specific requirements for file storage. The storage documentation explains how to enable it.

Developing

If you want to build the project locally you can use the Makefile. To create Docker images for every component and run them locally run these commands:

# Build docker images
make

# Start components in docker
make install

To start individual components outside of Docker or setup the development environment, see the development environment documentation.

License

This project is licensed under the MIT License. While this does grant you a lot of freedom in how to use the software and keeps the legal headache to a minimum, it also no longer requires you to publish modifications made to the project. The original intention behind the AGPL license was to encourage contributions by users who added features for their own use.

Since this project is so small at this stage, it heavily relies on feedback and contributions from the community (thats you!). So please strongly consider contributing any changes you make for the benefit of all users 🙂

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].