jspcom
Version:
TypeScript and JavaScript page component object framework for Selenium
43 lines (42 loc) • 1.8 kB
TypeScript
import 'reflect-metadata';
import { type Locator, type WebDriver, type WebElement } from 'selenium-webdriver';
import type { ShadowRootPromise } from 'selenium-webdriver/lib/webdriver.js';
import { ComponentManager } from './componentManager.js';
export declare abstract class BaseComponent extends ComponentManager {
parent: ComponentManager;
driver: WebDriver;
stalenessCache: WebElement | null;
findFromParent: boolean;
abstract locator: Locator | null;
constructor(parent: ComponentManager, driver: WebDriver, ..._args: unknown[]);
protected getReferenceNode(): Promise<WebElement | WebDriver>;
getElement(): Promise<WebElement>;
isPresent(): Promise<boolean>;
switchToParentFrame(): Promise<void>;
cacheElementForStalenessCheck(): Promise<void>;
cacheHasGoneStale(): Promise<boolean>;
private isCacheStale;
clear(): Promise<void>;
click(): Promise<void>;
findElement(locator: Locator): Promise<WebElement>;
findElements(locator: Locator): Promise<WebElement[]>;
getAttribute(attributeName: string): Promise<string | null>;
getCssValue(cssStyleProperty: string): Promise<string>;
getId(): Promise<string>;
getRect(): Promise<{
height: number;
width: number;
x: number;
y: number;
}>;
getTagName(): Promise<string>;
getText(): Promise<string>;
isDisplayed(): Promise<boolean>;
isEnabled(): Promise<boolean>;
isSelected(): Promise<boolean>;
sendKeys(...args: Parameters<WebElement['sendKeys']>): Promise<void>;
submit(): Promise<void>;
takeScreenshot(scroll?: boolean): Promise<string>;
getShadowRoot(): Promise<ShadowRootPromise>;
}
export declare function Component(...args: unknown[]): (target: ComponentManager, propertyKey: string) => void;