Skip to main content

Overridden Appium Capabilities

The Digital.ai Testing platform automatically overrides specific Appium capabilities during session creation to ensure reliable execution, proper session management, and parallel test stability.

User specified values for these capabilities are ignored, as they may conflict with platform managed functionality and lead to unexpected behavior, unstable execution, or session failures.

Appium Capabilities Overridden during Execution

The following capabilities are overwritten by Digital.ai during execution, with the platform-managed values and the reason for each override.

CapabilityOverridden valueWhy it is overridden
wdaStartupRetries0We set wdaStartupRetries to 0 to avoid Appium retry loops, which can result in extended delays during WDA startup failures.Client-side retries are disabled, and restart handling is managed internally to support session recovery.
newCommandTimeout0We set newCommandTimeout to 0 to prevent Appium from terminating the session due to inactivity. Session lifecycle and timeout management are handled by the platform.
fullResetfalseWe set fullReset to false to avoid uninstalling and reinstalling the app for each session, as app state management and reset operations are already handled by the platform during session initialization.
usePrebuiltWDAtrueWe enable usePrebuiltWDA=true to use a prebuilt and signed WDA already available on the device, instead of building it during session startup. This reduces startup time and improves reliability in cloud-based executions.
chromedriverPortDynamic unique port per Android device/sessionWe assign a unique chromedriverPort to each Android device or session to prevent port conflicts during parallel WebView execution. Without dedicated ports, multiple Chromedriver instances can interfere with one another, resulting in connection failures and errors such as Could not proxy command to the remote server or socket hang up.
wdaLocalPortDynamic unique port per iOS session/deviceWe assign a unique wdaLocalPort to each iOS session because WebDriverAgent communication ports cannot be shared across parallel sessions. Reusing the same port can cause Appium to terminate existing WDA connections, leading to session instability, communication failures, and unexpected session interruptions.
mjpegServerPortDynamic unique port per iOS session/deviceWe assign a unique mjpegServerPort to each iOS session to isolate the WebDriverAgent MJPEG streaming connection used for screenshots and live screen streaming. Sharing the same port across parallel sessions can lead to stream conflicts, failed screenshot capture, disrupted screen streaming, and unstable session behavior.