appium-chromedriver
Version:
Node.js wrapper around chromedriver.
123 lines • 3.99 kB
TypeScript
export class Chromedriver extends events<[never]> {
/**
*
* @param {import('./types').ChromedriverOpts} args
*/
constructor(args?: import("./types").ChromedriverOpts);
_log: import("@appium/types").AppiumLogger;
proxyHost: string;
proxyPort: string | number;
adb: import("appium-adb").default | undefined;
cmdArgs: string[] | undefined;
proc: SubProcess | null;
useSystemExecutable: boolean;
chromedriver: string | undefined;
executableDir: string;
mappingPath: string | undefined;
bundleId: string | undefined;
executableVerified: boolean;
state: string;
jwproxy: JWProxy;
isCustomExecutableDir: boolean;
verbose: boolean | undefined;
logPath: string | undefined;
disableBuildCheck: boolean;
storageClient: ChromedriverStorageClient | null;
details: {
info?: {
Browser: string;
};
} | undefined;
/** @type {any} */
capabilities: any;
/** @type {keyof PROTOCOLS | null} */
_desiredProtocol: ("W3C" | "MJSONWP") | null;
/** @type {string|null} */
_driverVersion: string | null;
/** @type {Record<string, any> | null} */
_onlineStatus: Record<string, any> | null;
get log(): import("@appium/types").AppiumLogger;
/**
* @returns {string | null}
*/
get driverVersion(): string | null;
getDriversMapping(): Promise<any>;
/**
* @param {ChromedriverVersionMapping} mapping
*/
getChromedrivers(mapping: ChromedriverVersionMapping): Promise<any[]>;
getChromeVersion(): Promise<semver.SemVer | null>;
/**
*
* @param {ChromedriverVersionMapping} newMapping
* @returns {Promise<void>}
*/
updateDriversMapping(newMapping: ChromedriverVersionMapping): Promise<void>;
/**
* When executableDir is given explicitly for non-adb environment,
* this method will respect the executableDir rather than the system installed binary.
* @returns {Promise<string>}
*/
getCompatibleChromedriver(): Promise<string>;
initChromedriverPath(): Promise<string>;
/**
* Determines the driver communication protocol
* based on various validation rules.
*
* @returns {keyof PROTOCOLS}
*/
syncProtocol(): "W3C" | "MJSONWP";
/**
*
* @param {object} caps
* @param {boolean} emitStartingState
*/
start(caps: object, emitStartingState?: boolean): Promise<Record<string, any> | NewSessionResponse>;
sessionId(): string | null;
restart(): Promise<void>;
waitForOnline(): Promise<void>;
getStatus(): Promise<any>;
startSession(): Promise<Record<string, any> | NewSessionResponse>;
stop(emitStates?: boolean): Promise<void>;
/**
*
* @param {string} state
*/
changeState(state: string): void;
/**
*
* @param {string} url
* @param {'POST'|'GET'|'DELETE'} method
* @param {any} body
* @returns
*/
sendCommand(url: string, method: "POST" | "GET" | "DELETE", body: any): Promise<any>;
/**
*
* @param {any} req
* @param {any} res
* @privateRemarks req / res probably from Express
*/
proxyReq(req: any, res: any): Promise<void>;
killAll(): Promise<void>;
hasWorkingWebview(): Promise<boolean>;
}
export namespace Chromedriver {
let EVENT_ERROR: string;
let EVENT_CHANGED: string;
let STATE_STOPPED: string;
let STATE_STARTING: string;
let STATE_ONLINE: string;
let STATE_STOPPING: string;
let STATE_RESTARTING: string;
}
export type ChromedriverVersionMapping = import("./types").ChromedriverVersionMapping;
export type NewSessionResponse = {
capabilities: Record<string, any>;
};
import events from 'events';
import { SubProcess } from 'teen_process';
import { JWProxy } from '@appium/base-driver';
import { ChromedriverStorageClient } from './storage-client/storage-client';
import * as semver from 'semver';
//# sourceMappingURL=chromedriver.d.ts.map