appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
61 lines • 2.51 kB
TypeScript
import type { XCUITestDriver, XCUITestDriverOpts } from '../driver';
import type { StringRecord, DownloadAppOptions, PostProcessOptions, PostProcessResult } from '@appium/types';
import type { Readable } from 'node:stream';
export declare const SAFARI_BUNDLE_ID = "com.apple.mobilesafari";
export declare const APP_EXT = ".app";
export declare const IPA_EXT = ".ipa";
export declare const SUPPORTED_EXTENSIONS: string[];
export interface LocalizableStringsOptions {
app?: string;
language?: string;
localizableStringsDir?: string;
stringFile?: string;
strictMode?: boolean;
}
export interface UnzipInfo {
rootDir: string;
archiveSize: number;
}
/**
* Verify whether the given application is compatible to the
* platform where it is going to be installed and tested.
*
* @throws If bundle architecture does not match the expected device architecture.
*/
export declare function verifyApplicationPlatform(this: XCUITestDriver): Promise<void>;
/**
* Extracts string resources from an app
*/
export declare function parseLocalizableStrings(this: XCUITestDriver, opts?: LocalizableStringsOptions): Promise<StringRecord>;
/**
* Unzips a ZIP archive on the local file system.
*
* @param archivePath Full path to a .zip archive
* @returns temporary folder root where the archive has been extracted
*/
export declare function unzipFile(archivePath: string): Promise<UnzipInfo>;
/**
* Unzips a ZIP archive from a stream.
* Uses bdstar tool for this purpose.
* This allows to optimize the time needed to prepare the app under test
* to MAX(download, unzip) instead of SUM(download, unzip)
*/
export declare function unzipStream(zipStream: Readable): Promise<UnzipInfo>;
/**
* Builds Safari preferences object based on the given session capabilities
*
* @param opts
* @return
*/
export declare function buildSafariPreferences(opts: XCUITestDriverOpts): StringRecord;
/**
* The callback invoked by configureApp helper
* when it is necessary to download the remote application.
* We assume the remote file could be anythingm, but only
* .zip and .ipa formats are supported.
* A .zip archive can contain one or more
*/
export declare function onDownloadApp(this: XCUITestDriver, opts: DownloadAppOptions): Promise<string>;
/** Post-processes configured apps and reuses a valid cache entry when possible. */
export declare function onPostConfigureApp(this: XCUITestDriver, opts: PostProcessOptions): Promise<PostProcessResult | false>;
//# sourceMappingURL=app.d.ts.map