@serenity-js/webdriverio
Version:
Adapter that integrates @serenity-js/web with the latest stable version of WebdriverIO, enabling Serenity/JS reporting and using the Screenplay Pattern to write web and mobile test scenarios
53 lines • 2.57 kB
TypeScript
import 'webdriverio';
import { URL } from 'node:url';
import { type Discardable } from '@serenity-js/core';
import type { CorrelationId } from '@serenity-js/core/lib/model/index.js';
import type { Cookie, CookieData, ModalDialogHandler, PageElements, Selector } from '@serenity-js/web';
import { Key, Page, PageElement } from '@serenity-js/web';
import type { WebdriverIOBrowsingSession } from './WebdriverIOBrowsingSession.js';
import type { WebdriverIOErrorHandler } from './WebdriverIOErrorHandler.js';
/**
* WebdriverIO-specific implementation of [`Page`](https://serenity-js.org/api/web/class/Page/).
*
* @group Models
*/
export declare class WebdriverIOPage extends Page<WebdriverIO.Element> implements Discardable {
private readonly browser;
private readonly errorHandler;
private lastScriptExecutionSummary;
private dehydrator;
constructor(session: WebdriverIOBrowsingSession, browser: WebdriverIO.Browser, modalDialogHandler: ModalDialogHandler, errorHandler: WebdriverIOErrorHandler, pageId: CorrelationId);
createPageElement(nativeElement: WebdriverIO.Element): PageElement<WebdriverIO.Element>;
locate(selector: Selector): PageElement<WebdriverIO.Element>;
locateAll(selector: Selector): PageElements<WebdriverIO.Element>;
navigateTo(destination: string): Promise<void>;
navigateBack(): Promise<void>;
navigateForward(): Promise<void>;
reload(): Promise<void>;
sendKeys(keys: Array<Key | string>): Promise<void>;
executeScript<Result, InnerArguments extends any[]>(script: string | ((...parameters: InnerArguments) => Result), ...args: InnerArguments): Promise<Result>;
executeAsyncScript<Result, Parameters extends any[]>(script: string | ((...args: [...parameters: Parameters, callback: (result: Result) => void]) => void), ...args: Parameters): Promise<Result>;
lastScriptExecutionResult<Result = any>(): Result;
takeScreenshot(): Promise<string>;
cookie(name: string): Promise<Cookie>;
setCookie(cookieData: CookieData): Promise<void>;
deleteAllCookies(): Promise<void>;
title(): Promise<string>;
name(): Promise<string>;
url(): Promise<URL>;
viewportSize(): Promise<{
width: number;
height: number;
}>;
setViewportSize(size: {
width: number;
height: number;
}): Promise<void>;
close(): Promise<void>;
closeOthers(): Promise<void>;
isPresent(): Promise<boolean>;
private resetState;
discard(): Promise<void>;
private inContextOfThisPage;
}
//# sourceMappingURL=WebdriverIOPage.d.ts.map