flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
178 lines (177 loc) • 7.75 kB
TypeScript
/// <reference types="node" />
import { iValue } from "./interfaces/ivalue";
import { Link } from "./link";
import { ValuePromise } from "./value-promise";
import { HttpResponse } from "./http/http-response";
import { SyncIteratorBoolCallback, SyncIteratorCallback, SyncMapperCallback, SyncReducerCallback } from "./interfaces/iterator-callbacks";
import { iAssertionIs } from "./interfaces/iassertion-is";
import { PointerClick } from "./interfaces/pointer";
import { JsFunction, KeyValue } from "./interfaces/generic-types";
import { iBounds } from "./interfaces/ibounds";
import { HttpRequestOptions } from "./interfaces/http";
import { GestureOpts, GestureType } from "./interfaces/gesture";
import { iAssertionContext } from "./interfaces/iassertioncontext";
import { iScenario, ScenarioConstructor } from "./interfaces/iscenario";
export declare class Value<T = any> implements iValue<T> {
protected readonly _input: T;
readonly context: iAssertionContext;
protected _name?: string | undefined;
protected readonly _parent: any;
protected readonly _highlight: string;
protected _sourceCode: string | null;
protected _path: string | undefined;
protected _tagName: string | undefined;
get $(): T;
get tagName(): string;
get outerHTML(): string;
get is(): iAssertionIs;
selectOption(value: string | string[]): ValuePromise;
pressEnter(): ValuePromise;
get length(): iValue<number>;
get trim(): iValue<string>;
get uppercase(): iValue<string>;
get lowercase(): iValue<string>;
get first(): iValue<any>;
get mid(): iValue<any>;
get last(): iValue<any>;
get random(): iValue<any>;
get string(): iValue<string>;
get array(): iValue<any[]>;
get float(): iValue<number>;
get int(): iValue<number>;
get bool(): iValue<boolean>;
get json(): iValue<any>;
get path(): string;
get name(): string;
get highlight(): string;
get parent(): any;
get sourceCode(): string;
get isFlagpoleValue(): true;
constructor(_input: T, context: iAssertionContext, _name?: string | undefined, _parent?: any, _highlight?: string);
rename(newName: string): iValue<T>;
toArray(): any[];
valueOf(): T;
toString(): string;
toBoolean(): boolean;
toFloat(): number;
toInteger(): number;
toJSON(): any;
toURL(baseUrl?: string | URL): URL;
toType(): string;
isNullOrUndefined(): boolean;
isUndefined(): boolean;
isNull(): boolean;
isPromise(): boolean;
isArray(): boolean;
isString(): boolean;
isObject(): boolean;
isNumber(): boolean;
isNumeric(): boolean;
isNaN(): boolean;
isCookie(): boolean;
isRegularExpression(): boolean;
isCheerioElement(): boolean;
isPuppeteerElement(): boolean;
hasProperty(key: string, value: any): Promise<boolean>;
hasValue(value: any): Promise<boolean>;
getProperty(key: string): ValuePromise;
click(opts: PointerClick): ValuePromise;
submit(): ValuePromise;
open(scenario: iScenario): iScenario;
open(title: string, type?: ScenarioConstructor): iScenario;
isVisible(): Promise<boolean>;
isHidden(): Promise<boolean>;
isTag(...tagNames: string[]): boolean;
getLink(): Promise<Link>;
getUrl(): ValuePromise;
fillForm(attributeName: string, formData: KeyValue): ValuePromise;
fillForm(formData: KeyValue): ValuePromise;
exists(selector?: string): ValuePromise;
find(selector: string): ValuePromise;
findAll(selector: string): Promise<iValue<any>[]>;
getClassName(): ValuePromise;
hasClassName(name?: string | RegExp): Promise<boolean>;
getTag(): ValuePromise;
hasTag(tag?: string | RegExp): Promise<boolean>;
getInnerText(): ValuePromise;
getInnerHtml(): ValuePromise;
getOuterHtml(): ValuePromise;
hasAttribute(key: string, value?: string | RegExp): Promise<boolean>;
getAttribute(key: string): ValuePromise;
getStyleProperty(key: string): ValuePromise;
getValue(): ValuePromise;
scrollTo(): ValuePromise;
hasText(text?: string): Promise<boolean>;
getText(): ValuePromise;
get values(): iValue<any>;
get keys(): iValue<string[]>;
screenshot(): Promise<Buffer>;
eval(js: string): Promise<any>;
focus(): ValuePromise;
hover(): ValuePromise;
blur(): ValuePromise;
tap(opts: PointerClick): ValuePromise;
longpress(opts: PointerClick): ValuePromise;
press(key: string, opts?: any): ValuePromise;
clearThenType(textToType: string, opts?: any): ValuePromise;
type(textToType: string, opts?: any): ValuePromise;
clear(): ValuePromise;
getAncestor(selector: string): ValuePromise;
getChildren(selector?: string): Promise<iValue<any>[]>;
getAncestors(selector: string): Promise<iValue<any>[]>;
getAncestorOrSelf(selector: string): ValuePromise;
getFirstChild(selector?: string): ValuePromise;
getLastChild(selector?: string): ValuePromise;
getFirstSibling(selector?: string): ValuePromise;
getLastSibling(selector?: string): ValuePromise;
getChildOrSelf(selector?: string): ValuePromise;
getDescendantOrSelf(selector?: string): ValuePromise;
getDescendants(selector?: string): Promise<iValue<any>[]>;
getParent(): ValuePromise;
getSiblings(selector?: string): Promise<iValue<any>[]>;
getPreviousSibling(selector?: string): ValuePromise;
getPreviousSiblings(selector?: string): Promise<iValue<any>[]>;
getNextSibling(selector?: string): ValuePromise;
getNextSiblings(selector?: string): Promise<iValue<any>[]>;
getBounds(boxType?: string): Promise<iBounds | null>;
download(): Promise<HttpResponse | null>;
download(localFilePath: string): Promise<HttpResponse | null>;
download(localFilePath: string, opts: HttpRequestOptions): Promise<HttpResponse | null>;
download(opts: HttpRequestOptions): Promise<HttpResponse | null>;
waitForFunction(js: JsFunction): ValuePromise;
waitForHidden(): ValuePromise;
waitForVisible(): ValuePromise;
setValue(text: string): ValuePromise;
assert(message?: string): import("./interfaces/iassertion").iAssertion;
split(by: string | RegExp, limit?: number): iValue<any[]>;
join(by: string): iValue<string>;
pluck(property: string): iValue<any[]>;
nth(index: number): iValue<any>;
map(callback: SyncMapperCallback): iValue<any[]>;
filter(func: (value: any, i?: number, arr?: any[]) => boolean): iValue<any[]>;
each(callback: SyncIteratorCallback): this;
min(key?: string): iValue<any>;
max(key?: string): iValue<any>;
sum(key?: string): iValue<number>;
count(key?: string): iValue<number>;
unique(): iValue<any[]>;
groupBy(key: string): iValue<{
[key: string]: any[];
}>;
asc(key?: string): iValue<any[]>;
desc(key?: string): iValue<any[]>;
median(key?: string): iValue<number>;
avg(key?: string): iValue<number>;
reduce(callback: SyncReducerCallback, initial?: any): iValue<any>;
every(callback: SyncIteratorBoolCallback): iValue<boolean>;
some(callback: SyncIteratorBoolCallback): iValue<boolean>;
none(callback: SyncIteratorBoolCallback): iValue<boolean>;
item(key: string | number): iValue<any>;
echo(callback?: (str: string) => void): this;
col(key: string | string[]): iValue<any[]>;
gesture(type: GestureType, opts: GestureOpts): ValuePromise;
protected _completedAction(verb: string, noun?: string): Promise<void>;
protected _failedAction(verb: string, noun?: string): Promise<void>;
protected _wrapAsValue<T>(data: T, name: string, parent?: any, highlight?: string): iValue<T>;
protected _wrapAsValuePromise<T>(data: T, name: string, parent?: any, highlight?: string): ValuePromise;
}