UNPKG

@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
/// <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 {};