@theintern/leadfoot
Version:
Leadfoot. A JavaScript client library that brings cross-platform consistency to the Selenium WebDriver API.
138 lines (137 loc) • 7.17 kB
TypeScript
/// <reference types="node" />
import Element from './Element';
import Server from './Server';
import { CancellablePromise } from '@theintern/common';
import Locator, { Strategy } from './lib/Locator';
import { Capabilities, Geolocation, LogEntry, WebDriverCookie } from './interfaces';
export default class Session extends Locator<CancellablePromise<Element>, CancellablePromise<Element[]>, CancellablePromise<void>> {
private _sessionId;
private _server;
private _capabilities;
private _closedWindows;
private _timeouts;
private _movedToElement;
private _lastMousePosition;
private _lastAltitude;
private _nextRequest;
constructor(sessionId: string, server: Server, capabilities: Capabilities);
get capabilities(): Capabilities;
get sessionId(): string;
get server(): Server;
private _delegateToServer;
serverGet<T>(path: string, requestData?: any, pathParts?: string[]): CancellablePromise<T>;
serverPost<T>(path: string, requestData?: any, pathParts?: string[]): CancellablePromise<T>;
serverDelete<T>(path: string, requestData?: any, pathParts?: string[]): CancellablePromise<T>;
getTimeout(type: Timeout): CancellablePromise<number>;
setTimeout(type: Timeout, ms: number): CancellablePromise<void>;
getCurrentWindowHandle(): CancellablePromise<string>;
getAllWindowHandles(): CancellablePromise<string[]>;
getCurrentUrl(): CancellablePromise<string>;
get(url: string): CancellablePromise<void>;
goForward(): CancellablePromise<void>;
goBack(): CancellablePromise<void>;
refresh(): CancellablePromise<void>;
execute<T>(script: Function | string, args?: any[]): CancellablePromise<T>;
executeAsync<T>(script: Function | string, args?: any[]): CancellablePromise<T>;
takeScreenshot(): CancellablePromise<Buffer>;
getAvailableImeEngines(): CancellablePromise<string[]>;
getActiveImeEngine(): CancellablePromise<string>;
isImeActivated(): CancellablePromise<boolean>;
deactivateIme(): CancellablePromise<void>;
activateIme(engine: string): CancellablePromise<void>;
switchToFrame(id: string | number | Element | null): CancellablePromise<void>;
switchToWindow(handle: string): CancellablePromise<void>;
switchToParentFrame(): CancellablePromise<void>;
closeCurrentWindow(): CancellablePromise<void>;
setWindowSize(width: number, height: number): CancellablePromise<void>;
setWindowSize(windowHandle: string, width: number, height: number): CancellablePromise<void>;
getWindowSize(windowHandle?: string): CancellablePromise<{
width: number;
height: number;
}>;
getWindowRect(): CancellablePromise<{
width: number;
height: number;
x: number;
y: number;
}>;
setWindowRect(rect: {
x: number;
y: number;
width: number;
height: number;
}): CancellablePromise<void>;
setWindowPosition(x: number, y: number): CancellablePromise<void>;
setWindowPosition(windowHandle: string, x: number, y: number): CancellablePromise<void>;
getWindowPosition(windowHandle?: string): CancellablePromise<{
x: number;
y: number;
}>;
maximizeWindow(windowHandle?: string): CancellablePromise<void>;
getCookies(): CancellablePromise<any[]>;
setCookie(cookie: WebDriverCookie): CancellablePromise<void>;
clearCookies(): CancellablePromise<any>;
deleteCookie(name: string): CancellablePromise<void>;
getPageSource(): CancellablePromise<string>;
getPageTitle(): CancellablePromise<string>;
find(using: Strategy, value: string): CancellablePromise<Element>;
findAll(using: Strategy, value: string): CancellablePromise<Element[]>;
getActiveElement(): CancellablePromise<Element>;
pressKeys(keys: string | string[]): CancellablePromise<void>;
getOrientation(): CancellablePromise<string>;
setOrientation(orientation: string): CancellablePromise<void>;
getAlertText(): CancellablePromise<string>;
typeInPrompt(text: string | string[]): CancellablePromise<void>;
acceptAlert(): CancellablePromise<void>;
dismissAlert(): CancellablePromise<void>;
moveMouseTo(): CancellablePromise<void>;
moveMouseTo(xOffset?: number, yOffset?: number): CancellablePromise<void>;
moveMouseTo(element?: Element, xOffset?: number, yOffset?: number): CancellablePromise<void>;
clickMouseButton(button?: number): CancellablePromise<void>;
pressMouseButton(button?: number): CancellablePromise<void>;
releaseMouseButton(button?: number): CancellablePromise<void>;
doubleClick(): CancellablePromise<void>;
tap(element: Element): CancellablePromise<void>;
pressFinger(x: number, y: number): CancellablePromise<void>;
releaseFinger(x: number, y: number): CancellablePromise<void>;
moveFinger(x: number, y: number): CancellablePromise<void>;
touchScroll(xOffset: number, yOffset: number): CancellablePromise<void>;
touchScroll(element?: Element, xOffset?: number, yOffset?: number): CancellablePromise<void>;
doubleTap(element?: Element): CancellablePromise<void>;
longTap(element?: Element): CancellablePromise<void>;
flickFinger(element: Element, xOffset: number, yOffset: number, speed?: number): CancellablePromise<void>;
flickFinger(xOffset: number, yOffset: number, speed?: number): CancellablePromise<void>;
getGeolocation(): CancellablePromise<Geolocation>;
setGeolocation(location: Geolocation): CancellablePromise<void>;
getLogsFor(type: string): CancellablePromise<LogEntry[]>;
getAvailableLogTypes(): CancellablePromise<string[]>;
getApplicationCacheStatus(): CancellablePromise<number>;
quit(): CancellablePromise<void>;
getLocalStorageKeys(): CancellablePromise<string[]>;
setLocalStorageItem(key: string, value: string): CancellablePromise<void>;
clearLocalStorage(): CancellablePromise<void>;
getLocalStorageItem(key: string): CancellablePromise<string>;
deleteLocalStorageItem(key: string): CancellablePromise<void>;
getLocalStorageLength(): CancellablePromise<number>;
getSessionStorageKeys(): CancellablePromise<string[]>;
setSessionStorageItem(key: string, value: string): CancellablePromise<void>;
clearSessionStorage(): CancellablePromise<void>;
getSessionStorageItem(key: string): CancellablePromise<string>;
deleteSessionStorageItem(key: string): CancellablePromise<void>;
getSessionStorageLength(): CancellablePromise<number>;
findDisplayed(using: Strategy, value: string): CancellablePromise<Element>;
waitForDeleted(using: Strategy, value: string): CancellablePromise<void>;
getExecuteAsyncTimeout(): CancellablePromise<number>;
setExecuteAsyncTimeout(ms: number): CancellablePromise<void>;
getFindTimeout(): CancellablePromise<number>;
setFindTimeout(ms: number): CancellablePromise<void>;
getPageLoadTimeout(): CancellablePromise<number>;
setPageLoadTimeout(ms: number): CancellablePromise<void>;
}
export interface WebDriverTimeouts {
script: number;
pageLoad: number;
implicit: number;
}
declare type Timeout = 'script' | 'implicit' | 'page load';
export {};