AppiumTransportConfig
Configuration for the Appium transport.
Import:
import type { AppiumTransportConfig } from 'obsidian-integration-testing';Signature:
export interface AppiumTransportConfigProperties
| Property | Type | Description |
|---|---|---|
| appId? | string | App package (Android) or bundle ID (iOS). Defaults to 'md.obsidian'. |
| appStartTimeoutInMilliseconds? | number | Timeout in milliseconds for Obsidian Mobile to get as far as globalThis.app existing after the vault is (re)opened, before the tighter layoutReadyTimeoutInMilliseconds clock starts. |
| browser | Browser | The Appium browser/driver instance. Created by the consumer via e.g. WebDriverIO's remote(). |
| deviceId | string | The device UDID (e.g. 'emulator-5554'). Used for adb commands when pushing files to the device. |
| isSessionOwner? | boolean | Whether this transport owns the Appium session and should delete it on AppiumTransport.dispose.true for sessions created via remote() (global setup). false for sessions reattached via attach() (test workers). |
| layoutReadyTimeoutInMilliseconds? | number | Timeout in milliseconds for waiting for app.workspace.layoutReady, counted from the moment appStartTimeoutInMilliseconds is satisfied — not from the reload, so a cold app start is not charged against it. |
| platform | 'android' | 'ios' | Target platform. Determines WebView context naming and device file paths. |
| scriptTimeoutInMilliseconds? | number | The per-script cap, in milliseconds, this session was given as its W3C timeouts.script capability.Carried only so a script timeout can be reported with the number that produced it; the capability itself is set when the session is created. |
| shouldSweepLeftovers? | boolean | Whether registering a vault also prunes the **other** temp-vault-* registrations earlier runs left in Obsidian Mobile's localStorage.The device-side directories are swept before the app launches (see the factory); this removes their now-dangling registry entries, which are what Obsidian actually enumerates at startup. Unregistering this run's own vault is unaffected — that always happens. |
| vaultBasePath? | string | Base path on the device where Obsidian stores vaults. Defaults: - Android: /sdcard/Documents/ - iOS: @md.obsidian:documents/ |
| webviewTimeoutInMilliseconds? | number | Timeout in milliseconds for waiting for the WebView context to become available. |