UNPKG

@serenity-js/playwright

Version:

Adapter that integrates @serenity-js/web with Playwright, enabling Serenity/JS reporting and using the Screenplay Pattern to write component and end-to-end test scenarios

54 lines 2.6 kB
import { URL } from 'node:url'; import { type QuestionAdapter } from '@serenity-js/core'; import type { CorrelationId } from '@serenity-js/core/lib/model'; import type { Cookie, CookieData, PageElements, Selector } from '@serenity-js/web'; import { Key, Page, PageElement } from '@serenity-js/web'; import type * as playwright from 'playwright-core'; import type { ExtraBrowserContextOptions } from '../../ExtraBrowserContextOptions'; import type { PlaywrightBrowsingSession } from './PlaywrightBrowsingSession'; /** * Playwright-specific implementation of [`Page`](https://serenity-js.org/api/web/class/Page/). * * @group Models */ export declare class PlaywrightPage extends Page<playwright.Locator> { private readonly page; private readonly options; private lastScriptExecutionSummary; private dehydrator; static current(): QuestionAdapter<PlaywrightPage>; constructor(session: PlaywrightBrowsingSession, page: playwright.Page, options: Partial<Pick<ExtraBrowserContextOptions, 'defaultNavigationWaitUntil'>>, pageId: CorrelationId); createPageElement(nativeElement: playwright.Locator): PageElement<playwright.Locator>; locate(selector: Selector): PageElement<playwright.Locator>; locateAll(selector: Selector): PageElements<playwright.Locator>; navigateTo(destination: string): Promise<void>; navigateBack(): Promise<void>; navigateForward(): Promise<void>; reload(): Promise<void>; sendKeys(keys: (string | Key)[]): Promise<void>; executeScript<Result, InnerArguments extends any[]>(script: string | ((...parameters: InnerArguments) => Result), ...args: InnerArguments): Promise<Result>; executeAsyncScript<Result, InnerArguments extends any[]>(script: string | ((...args: [...parameters: InnerArguments, callback: (result: Result) => void]) => void), ...args: InnerArguments): 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>; nativePage(): Promise<playwright.Page>; private resetState; private currentFrame; } //# sourceMappingURL=PlaywrightPage.d.ts.map