https://github.com/dlenroc/appium-grid-plugin
Easy way to register an Appium server as a node in Selenium 4 Grid
https://github.com/dlenroc/appium-grid-plugin
appium appium-plugin selenium-grid selenium-node
Last synced: about 1 month ago
JSON representation
Easy way to register an Appium server as a node in Selenium 4 Grid
- Host: GitHub
- URL: https://github.com/dlenroc/appium-grid-plugin
- Owner: dlenroc
- Created: 2024-03-16T18:22:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-10T18:59:24.000Z (5 months ago)
- Last Synced: 2025-04-09T09:49:21.886Z (about 1 month ago)
- Topics: appium, appium-plugin, selenium-grid, selenium-node
- Language: TypeScript
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Appium Grid Plugin · [](https://www.npmjs.com/package/@dlenroc/appium-grid-plugin) 
A plugin for registering Appium as a node in Selenium Grid 4.
## Installation
```shell
appium plugin install --source npm @dlenroc/appium-grid-plugin
```## Parameters
| Parameter | Default | Description |
| -------------------------------- | ----------------------- | ---------------------- |
| `--plugin-grid-external-url` | `http://127.0.0.1:4723` | Node external URL |
| `--plugin-grid-publish-events` | `tcp://127.0.0.1:4443` | Grid ZeroMQ PUB socket |
| `--plugin-grid-stereotype` | `{}` | Node stereotype(s) |
| `--plugin-grid-heartbeat-period` | `60000` | Heartbeat period (ms) |
| `--plugin-grid-session-timeout` | `300000` | Session timeout (ms) |## Usage
Start the Selenium Grid Hub
```shell
selenium-server hub \
--port 4444 \
--host 127.0.0.1 \
--publish-events 'tcp://127.0.0.1:4442' \
--subscribe-events 'tcp://127.0.0.1:4443'
```Start as many Appium nodes as needed
```shell
npx appium \
--use-plugins grid \
--plugin-grid-external-url 'http://127.0.0.1:4723' \
--plugin-grid-publish-events 'tcp://127.0.0.1:4443' \
--plugin-grid-stereotype '{ "platformName": "roku" }' \
--default-capabilities '{
"appium:automationName": "roku",
"appium:ip": "",
"appium:password": ""
}'
```