Custom Capability Matcher

Adds support of deviceName or appium:deviceName while still supports default browserName.

Still works like default capability matcher, but also adds suport of deviceName.

Don't pass device name into browser property, it is required to pass either browser or deviceName.

Usage

Specify custom capability matcher in hub config json (see example).

{
  "capabilityMatcher": "com.wdio.qa.grid.matcher.CapabilityMatcher",
  "registry": "org.openqa.grid.internal.DefaultGridRegistry"
}

Run grid server

seleniumServerJar=selenium-server-standalone-3.141.59.jar
capabilityMatcherJar=grid-capability-matcher-3.141.59.jar
javaClasses="$seleniumServerJar:$capabilityMatcherJar"

java -cp $javaClasses org.openqa.grid.selenium.GridLauncherV3 -role hub -hubConfig hubconfig.json

Example

  1. Build mvn -q install -DskipTests
  2. Download grid server ./download-server.sh (in example folder)
  3. Run grid server ./gridStart.sh (in example folder)

Original Turtorial