UNPKG

appium-xcuitest-driver

Version:

Appium driver for iOS using XCUITest for backend

106 lines 3.4 kB
import type { AppiumLogger } from '@appium/types'; import type { AppInfoMapping } from '../types'; import type { RemoteXPCFacade } from './remote-xpc'; /** * Options for listing applications */ interface ListApplicationOptions { applicationType?: 'User' | 'System'; returnAttributes?: string[]; } /** * Options for lookup applications */ interface LookupApplicationOptions { bundleIds: string | string[]; returnAttributes?: string[]; applicationType?: 'User' | 'System'; } interface CreateInstallationProxyOptions { allowLegacyFallback?: boolean; facade?: RemoteXPCFacade | null; logger?: AppiumLogger; } /** * Unified Installation Proxy Client * * Provides a unified interface for app installation/management operations on iOS devices */ export declare class InstallationProxyClient { private readonly service; private readonly _isRemoteXPC; private readonly _log; private _lastLoggedProgress?; private constructor(); /** * Check if this client is using RemoteXPC */ private get isRemoteXPC(); /** * Get the RemoteXPC service (throws if not RemoteXPC) */ private get remoteXPCService(); /** * Get the ios-device service (throws if not ios-device) */ private get iosDeviceService(); /** * Create an InstallationProxy client for the device * * @param udid - Device UDID * @param opts - Creation options * @returns InstallationProxy client instance */ static create(udid: string, opts?: CreateInstallationProxyOptions): Promise<InstallationProxyClient>; /** * List installed applications * * @param opts - Options for filtering and selecting attributes * @returns Object keyed by bundle ID */ listApplications(opts?: ListApplicationOptions): Promise<AppInfoMapping>; /** * Look up application information for specific bundle IDs * * @param opts - Bundle IDs and options * @returns Object keyed by bundle ID */ lookupApplications(opts: LookupApplicationOptions): Promise<AppInfoMapping>; /** * Install an application * * @param path - Path to ipa * @param clientOptions - Installation options * @param timeoutMs - Timeout in milliseconds */ installApplication(path: string, clientOptions?: Record<string, any>, timeoutMs?: number): Promise<void>; /** * Upgrade an application * * @param path - Path to app on device * @param clientOptions - Installation options * @param timeoutMs - Timeout in milliseconds */ upgradeApplication(path: string, clientOptions?: Record<string, any>, timeoutMs?: number): Promise<void>; /** * Uninstall an application * * @param bundleId - Bundle ID of app to uninstall * @param timeoutMs - Timeout in milliseconds */ uninstallApplication(bundleId: string, timeoutMs?: number): Promise<void>; /** * Close the client and cleanup resources */ close(): Promise<void>; /** * Execute a RemoteXPC operation and log progress messages as they arrive * * @param operation - Function that executes the RemoteXPC operation with a progress handler */ private executeWithProgressLogging; private logProgressBatch; private logProgress; } export {}; //# sourceMappingURL=installation-proxy-client.d.ts.map