import { URL } from 'node:url'; import type { CorrelationId } from '@serenity-js/core/model'; import type { Cookie, CookieData, ModalDialogHandler, PageElements, Selector } from '@serenity-js/web'; import { Key, Page, PageElement } from '@serenity-js/web'; import type * as protractor from 'protractor'; import type { ProtractorBrowsingSession } from './ProtractorBrowsingSession'; import type { ProtractorErrorHandler } from './ProtractorErrorHandler'; /** * Protractor-specific implementation of [`Page`](https://serenity-js.org/api/web/class/Page/). * * @group Models */ export declare class ProtractorPage extends Page { private readonly browser; private readonly errorHandler; private lastScriptExecutionSummary; private dehydrator; constructor(session: ProtractorBrowsingSession, browser: protractor.ProtractorBrowser, modalDialogHandler: ModalDialogHandler, errorHandler: ProtractorErrorHandler, pageId: CorrelationId); createPageElement(nativeElement: protractor.ElementFinder): PageElement; locate(selector: Selector): PageElement; locateAll(selector: Selector): PageElements; /** * If set to `false`, Protractor will not wait for Angular 1.x `$http` and `$timeout` * tasks to complete before interacting with the browser. * * This can be useful when: * - you need to switch to a non-Angular app during your tests, e.g. to sign in using an SSO gateway * - your app continuously polls an API with `$timeout` * * If you're not testing an Angular app, it's better to disable Angular synchronisation completely * in protractor configuration: * * ```js * // protractor.conf.js * exports.config = { * onPrepare: function () { * return browser.waitForAngularEnabled(false) * }, * * // ... other config * } * ``` * * @param enable */ enableAngularSynchronisation(enable: boolean): Promise; navigateTo(destination: string): Promise; navigateBack(): Promise; navigateForward(): Promise; reload(): Promise; sendKeys(keys: (string | Key)[]): Promise; executeScript(script: string | ((...parameters: InnerArguments) => Result), ...args: InnerArguments): Promise; executeAsyncScript(script: string | ((...args: [...parameters: Parameters, callback: (result: Result) => void]) => void), ...args: Parameters): Promise; lastScriptExecutionResult(): any; takeScreenshot(): Promise; cookie(name: string): Promise; setCookie(cookieData: CookieData): Promise; deleteAllCookies(): Promise; title(): Promise; name(): Promise; url(): Promise; viewportSize(): Promise<{ width: number; height: number; }>; setViewportSize(size: { width: number; height: number; }): Promise; close(): Promise; closeOthers(): Promise; isPresent(): Promise; private inContextOfThisPage; } //# sourceMappingURL=ProtractorPage.d.ts.map