Device filters

Device Filters can be used to filter out devices to be used for test execution. Ekam supports filtering devices by Platform Version, Model/Device Name and UDID.

{
  "platformVersion": {
    "include": [],
    "operator": "",
    "exclude": []
  },
  "model": {
    "include": [],
    "exclude": []
  },
  "udid": {
    "include": [],
    "exclude": []
  }
}

Filter by Platform Version

As an example, to execute tests on iOS Platform versions between 10 and 14

"platformVersion": {
    "include": [
      "10"
    ],
    "operator": "<",
    "exclude": ["14"]
  },

Filter by Model

As an example, to execute tests on specified models

"model": {
    "include": [
      "iphone SE",
      "iphone 8",
      "iphone X"
    ],
    "exclude": [
      "ipad",
      "iphone 11",
      "iphone 12"
    ]
  }

Filter by UDID

As an example, to execute tests on devices with udid

"udid": {
    "include": ["emulator-5554", "emulator-5666"],
    "exclude": ["emulator-5557"]
  }

Using the filters

You can create multiple Device Filters like browser_stack_android_devices.json, browser_stack_ios_devices.json, samsung_devices.json, pixel_devices.json etc under src/test/resources/mobile folder

Set property mobile.filters in config to specify the Device filters to be used during test execution