appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
29 lines • 1.61 kB
TypeScript
import type { StringRecord } from '@appium/types';
import type { RunXCTestResult } from '../commands/types';
import type { RemoteXPCFacade } from './remote-xpc';
/**
* Run an XCTest suite via RemoteXPC using the high-level XCTestRunner.
*
* The XCTestRunner handles the full lifecycle internally:
* 1. Service discovery (testmanagerd, DVT, InstallationProxy) via single RemoteXPC connection
* 2. App lookup to resolve test bundle paths
* 3. Exec/control session initialization
* 4. Test runner process launch via ProcessControl
* 5. XCTestConfiguration delivery and test plan execution
* 6. Event-driven completion with typed callbacks
* 7. Cleanup (kill process, close connections)
*
* Per-test results are collected via XCTestRunner's 'xctest' events.
*/
export declare function runXCTestViaRemoteXPC(udid: string, testRunnerBundleId: string, appUnderTestBundleId: string, xctestBundleId: string, facade: RemoteXPCFacade, testType?: 'app' | 'ui' | 'logic', args?: string[], env?: StringRecord, timeout?: number): Promise<RunXCTestResult>;
/**
* List XCTest bundles installed on the device via RemoteXPC.
* Uses InstallationProxy to browse apps and filter for xctrunner bundles.
*/
export declare function listXCTestBundlesViaRemoteXPC(udid: string, facade: RemoteXPCFacade): Promise<string[]>;
/**
* Install an XCTest bundle via RemoteXPC.
* Only supports .ipa and .app bundles (not bare .xctest directories).
*/
export declare function installXCTestBundleViaRemoteXPC(udid: string, xctestApp: string, facade: RemoteXPCFacade): Promise<void>;
//# sourceMappingURL=xctest-remotexpc.d.ts.map