import XCUITestOptions from '../models/xcuitest_options'; import Credentials from '../models/credentials'; import BaseProvider, { ProviderResult } from './base_provider'; export interface XCUITestRunEnvironment { device?: string; name?: string; version?: string; } export interface XCUITestRunInfo { id: number; status: 'WAITING' | 'READY' | 'DONE' | 'FAILED'; capabilities: { deviceName: string; platformName: string; version?: string; }; environment?: XCUITestRunEnvironment; success: number | boolean; report?: string; test?: { sessionId?: string; environment?: XCUITestRunEnvironment; }; } export interface XCUITestStatusResponse { runs: XCUITestRunInfo[]; success: boolean; completed: boolean; } export type XCUITestResult = ProviderResult; export interface XCUITestSocketMessage { id: number; payload: string; } export default class XCUITest extends BaseProvider { protected readonly URL = "https://api.testingbot.com/v1/app-automate/xcuitest"; protected readonly jsonProvider: "xcuitest"; private socket; private updateServer; private updateKey; private socketFallbackWarned; constructor(credentials: Credentials, options: XCUITestOptions); private validate; run(): Promise; private uploadApp; private uploadTestApp; private runTests; private getStatus; private waitForCompletion; private displayRunStatus; /** * Get the display name for a run, preferring environment.name over capabilities.deviceName * This shows the actual device used when a wildcard (*) was specified */ private getRunDisplayName; private getStatusInfo; private fetchReports; private connectToUpdateServer; private disconnectFromUpdateServer; private handleXCUITestData; private handleXCUITestError; } //# sourceMappingURL=xcuitest.d.ts.map