UNPKG

cabbie-sync

Version:
112 lines (104 loc) 4.47 kB
/** * @flow * This file is generated automatically, run npm run build to re-generate. **/ import ApplicationCacheStatuses from './enums/application-cache-statuses.js'; import type ApplicationCacheStatus from './enums/application-cache-statuses.js'; import BrowserOrientations from './enums/browser-orientations.js'; import type BrowserOrientation from './enums/browser-orientations.js'; import Capabilities from './enums/capabilities.js'; import type Capability from './enums/capabilities.js'; import KeyboardKeys from './enums/keyboard-keys.js'; import type KeyboardKey from './enums/keyboard-keys.js'; import LogLevels from './enums/log-levels.js'; import type LogLevel from './enums/log-levels.js'; import LogSources from './enums/log-sources.js'; import type LogSource from './enums/log-sources.js'; import Modes from './enums/modes.js'; import type Mode from './enums/modes.js'; import MouseButtons from './enums/mouse-buttons.js'; import type MouseButton from './enums/mouse-buttons.js'; import SelectorTypes from './enums/selector-types.js'; import type SelectorType from './enums/selector-types.js'; import TimeOutTypes from './enums/time-out-types.js'; import type TimeOutType from './enums/time-out-types.js'; import ActiveWindow from './active-window.js'; import Alert from './alert.js'; import Browser from './browser.js'; import CookieStorage from './cookie-storage.js'; import Element from './element.js'; import Frame from './frame.js'; import GlobalMouse from './global-mouse.js'; import GlobalTouch from './global-touch.js'; import IME from './ime.js'; import LocalStorage from './local-storage.js'; import Mouse from './mouse.js'; import Navigator from './navigator.js'; import SessionStorage from './session-storage.js'; import TimeOut from './time-out.js'; import Touch from './touch.js'; import WindowHandle from './window-handle.js'; import type { Options } from './flow-types/options'; import type { Session } from './flow-types/session-data'; import Connection from './connection'; import Debug from './debug'; import Driver from './driver'; import parseResponse from './utils/parse-response'; import Status from './status'; import waitFor from './utils/wait-for'; export { Connection, Debug, Driver, Status }; /* * Create a new cabbie Driver. See [getting started](/getting-started) for examples. */ export default function createCabbieDriver(remote: string, options: Options = {}): Driver { return new Driver(remote, options); } export type { Options }; /* * Returns a list of the currently active sessions * * Note: Appears not to be supported by the selenium-standalone-server! */ export function getSessions(remote: string, options: Options = {}): Array<Session> { const connection = new Connection(remote, remote, new Debug(options)); const rawSessions = connection.request('GET', '/sessions'); const sessions = parseResponse(rawSessions); return sessions.map(session => ({ sessionID: session.id, capabilities: session.capabilities })); } /* * Gets the selenium-system status */ export function getStatus(remote: string, options: Options = {}): Status { const connection = new Connection(remote, remote, new Debug(options)); const rawResponse = connection.request('GET', '/status'); const response = parseResponse(rawResponse); return new Status(response); } let chromedriverRunning = false; /* * Start a chromedriver instance. You must have installed chromedriver to use this: * * ``` * npm install chromedriver --save-dev * ``` */ export function startChromedriver(): void { if (chromedriverRunning) { return; } let chromedriver; try { chromedriver = (require: any)('chromedriver'); } catch (ex) { throw new Error('You must install the chromedriver module via "npm install chromedriver --save-dev" to call ' + 'cabbie.startChromedriver();'); } const cd = chromedriver; cd.start().unref(); process.once('exit', code => { cd.stop(); }); chromedriverRunning = true; } export { waitFor }; export {ApplicationCacheStatuses, BrowserOrientations, Capabilities, KeyboardKeys, LogLevels, LogSources, Modes, MouseButtons, SelectorTypes, TimeOutTypes, ActiveWindow, Alert, Browser, CookieStorage, Element, Frame, GlobalMouse, GlobalTouch, IME, LocalStorage, Mouse, Navigator, SessionStorage, TimeOut, Touch, WindowHandle}; export type {ApplicationCacheStatus, BrowserOrientation, Capability, KeyboardKey, LogLevel, LogSource, Mode, MouseButton, SelectorType, TimeOutType};