Selenium Grid

You are able to register your appium server with a local Selenium grid (setup docs) by using the
--nodeconfig server parameter.

> appium --nodeconfig /path/to/nodeconfig.json
# or, if running from source:
> node . --nodeconfig /path/to/nodeconfig.json

In the node config file you have to define the browserName,
version and platform and based on these parameters the grid
will re-direct your test to the right device. You will also need to
configure your host details and the selenium grid details. For
a full list of all parameters and descriptions look

Once you start the appium server and it registers with the grid,
you will see your device on the grid console page:


Grid Node Configuration Example json file

          "browserName": "<e.g._iPhone5_or_iPad4>",
          "maxInstances": 1,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
    "host": "<host_name_appium_server_or_ip-address_appium_server>",
    "port": <appium_port>,
    "maxSession": 1,
    "register": true,
    "registerCycle": 5000,
    "hubPort": <grid_port>,
    "hubHost": "<Grid_host_name_or_grid_ip-address>"
    "hubProtocol": "<Protocol_of_Grid_defaults_to_http>"

Valid platforms are listed here

If url, host, and port are not given, the config will be auto updated
to point to localhost:whatever-port-Appium-started-on.

If your Appium server is running on a different machine to your Selenium Grid server, make sure you use an external name/IP address in your host & url docs; localhost and will prevent Selenium Grid from connecting correctly.