appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
106 lines • 3.4 kB
TypeScript
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