///
import { ui5AssertDef, ui5AssertOperator, ui5AssertOperatorExists, ui5AssertOperatorVisible, ui5AssertOperatorCount } from "./ui5Asserts";
import { UI5ChainSelection, UI5StepBaseLib } from "./ui5Builder";
declare enum ui5StepType {
UNDEFINED = 0,
CLICK = 1,
TYPE_TEXT = 2,
ASSERT_VISIBLE = 3,
ASSERT_PROPERTY_VALUE = 4,
PRESS_KEY = 4,
BLUR = 5,
CLEAR_TEXT = 6,
ASSERT_EXISTS = 7,
RIGHT_CLICK = 8,
DOUBLE_CLICK = 9,
HOVER = 10,
DRAG = 11,
DRAG_TO_ELEMENT = 12,
SELECT_TEXT = 13,
SELECT_TEXT_AREA_CONTENT = 14,
SELECT_EDITABLE_CONTENT = 15,
WAIT = 16,
NAVIGATE_TO = 17,
SET_FILES_TO_UPLOAD = 18,
UPLOAD = 19,
CLEAR_UPLOAD = 20,
TAKE_SCREENSHOT = 21,
TAKE_ELEMENT_SCREENSHOT = 22,
RESIZE_WINDOW = 24,
MAXIMIZE_WINDOW = 25,
SWITCH_TO_IFRAME = 26,
SET_NATIVE_DIALOG_HANDLER = 27,
OPEN_WINDOW = 28,
DEBUG = 29
}
declare enum ui5StepStatus {
UNDEFINED = 0,
QUEUED = 1,
PROCESSED = 2,
FAILED = 3,
FAILED_UNPROCESSED = 4
}
declare class ui5ActionStep {
stepId: number;
stepType: ui5StepType;
status: ui5StepStatus;
testName: string;
t: TestController;
selector: string;
activity: string;
startTime: number;
endTime: number;
isUI5Selector: boolean;
isFirstUI5Selector: boolean;
isTracedSelector: boolean;
constructor(stepId: number, stepType: ui5StepType, status: ui5StepStatus, selector: string, startTime: number, testName: string, isUI5Selector: boolean, isTracedSelector: boolean, testCtrl: TestController, activity?: string);
}
interface ui5ActionTests {
[key: string]: ui5ActionStep[];
}
interface ui5ActionErrorLogs {
[key: string]: string[];
}
declare class ui5StepsDef {
_steps: ui5ActionTests;
_startTime: number;
_errorLogs: ui5ActionErrorLogs;
static testIds: any;
static testIdErrorLog: any;
getCurrentTestName(t?: TestController): string;
setConsoleErrorLogs(t: TestController, errorLog: string[]): void;
getConsoleErrorLog(testCase: string): string[];
getStatusDescr(status: ui5StepStatus): string;
getStepDescr(step: ui5StepType): string;
getTestIdErrorLog(sTestId: string): any;
setTestIdErrorLog(sTestId: string, errorLog: ui5TraceSelectorResultOverview): void;
getSteps(sTestId: string, sFixtureName: string): ui5ActionStep[];
getCurSteps(testName: string): ui5ActionStep[];
getCurConsoleErrorLogs(): string[];
getTestIdFromTestName(sCurTestName: string): number;
addStep(t: TestController, stepType: ui5StepType, status: ui5StepStatus, selector?: UI5StepBaseLib | Selector, activity?: string): ui5ActionStep;
setStepStatus(step: ui5ActionStep, stat: ui5StepStatus): void;
hasFailedSteps(test: string): boolean;
}
declare let ui5Steps: ui5StepsDef;
export interface UI5TypeActionOptions extends TypeActionOptions {
/**
* `true` to log only "****" inside the log handler
*/
anonymize?: boolean;
/**
* `true` to press enter after typing
*/
confirm?: boolean;
}
export interface ui5TraceSelectorItemResult {
target: string;
property: string;
expected: string;
actual: string;
ok: string;
}
export interface ui5TraceSelectorItemResultOK {
id: string;
target: string;
property: string;
expected: string;
actual: string;
}
export declare enum ui5TraceMismatchType {
CONTROL_TYPE = "metadata.elementName",
CONTEXT = "context",
ID = "identifier.id"
}
export interface ui5TraceOptions {
showWithoutDomRef?: boolean;
hideTypes?: ui5TraceMismatchType[];
timeout?: number;
showFoundElements?: boolean;
showCorrectValues?: boolean;
}
export interface ui5TraceSelectorResult {
[id: string]: ui5TraceSelectorItemResult;
}
export interface ui5TraceSelectorResultOverview {
found: ui5TraceSelectorItemResultOK[];
notFound: ui5TraceSelectorResult;
}
export declare enum ui5SupportAssistantIssueSeverity {
High = "High",
Medium = "Medium",
Low = "Low"
}
export interface ui5SupportAssistantIssue {
severity: ui5SupportAssistantIssueSeverity;
ruleId: string;
context: string;
details: string;
}
export interface ui5SupportAssistantAssertion {
failOnSeverity?: ui5SupportAssistantIssueSeverity[];
outputLog?: boolean;
}
interface ui5ActionDefIntf {
debugSelector(selector?: UI5ChainSelection): Promise;
traceSelector(selector: UI5ChainSelection, traceOptions?: ui5TraceOptions): Promise;
pressKey(keys: string, options?: ActionOptions): ui5ActionDefPromise;
getTestId(): string;
blur(): ui5ActionDefPromise;
runSupportAssistant(): Promise;
deactivateAnimation(): Promise;
takeElementScreenshot(selector: UI5ChainSelection | Selector, path: string, options?: TakeElementScreenshotOptions): ui5ActionDefPromise;
selectText(selector: UI5ChainSelection | Selector, startPos?: number, endPos?: number, options?: ActionOptions): ui5ActionDefPromise;
dragToElement(selector: UI5ChainSelection | Selector, destinationSelector: UI5ChainSelection | Selector, options?: MouseActionOptions): ui5ActionDefPromise;
drag(selector: UI5ChainSelection | Selector, dragOffsetX: number, dragOffsetY: number, options?: MouseActionOptions): ui5ActionDefPromise;
hover(selector: UI5ChainSelection | Selector, options?: MouseActionOptions): ui5ActionDefPromise;
doubleClick(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
selectElement(selectorParent: UI5ChainSelection, positionInAggregation: number, withType?: boolean): ui5ActionDefPromise;
selectElementByText(selectorParent: UI5ChainSelection, title: string): ui5ActionDefPromise;
selectElementByIndex(selectorParent: UI5ChainSelection, index: number): ui5ActionDefPromise;
typeText(selector: UI5ChainSelection | Selector, text: string, options?: UI5TypeActionOptions): ui5ActionDefPromise;
clearText(selector: UI5ChainSelection | Selector): ui5ActionDefPromise;
expect(selector: UI5ChainSelection | any): ui5AssertDef;
debug(): ui5ActionDefPromise;
expectAny(selector: any): ui5AssertOperator;
expectVisible(selector: UI5ChainSelection): ui5AssertOperatorVisible;
expectProperty(selector: UI5ChainSelection, propName: string): ui5AssertOperator;
expectCount(selector: UI5ChainSelection): ui5AssertOperatorCount;
expectExists(selector: UI5ChainSelection): ui5AssertOperatorExists;
expectNoSupportAssistantIssue(config?: ui5SupportAssistantAssertion): Promise;
rightClick(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
click(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
}
declare class ui5ActionProxyDef implements ui5ActionDefIntf {
private getRunDef;
debugSelector(selector?: UI5ChainSelection): Promise;
deactivateAnimation(): Promise;
runSupportAssistant(): Promise;
traceSelector(selector: UI5ChainSelection, traceOptions?: ui5TraceOptions): Promise;
pressKey(keys: string, options?: ActionOptions): ui5ActionDefPromise;
debug(): ui5ActionDefPromise;
getTestId(): string;
blur(): ui5ActionDefPromise;
takeElementScreenshot(selector: UI5ChainSelection | Selector, path: string, options?: TakeElementScreenshotOptions): ui5ActionDefPromise;
selectText(selector: UI5ChainSelection | Selector, startPos?: number, endPos?: number, options?: ActionOptions): ui5ActionDefPromise;
dragToElement(selector: UI5ChainSelection | Selector, destinationSelector: UI5ChainSelection | Selector, options?: MouseActionOptions): ui5ActionDefPromise;
drag(selector: UI5ChainSelection | Selector, dragOffsetX: number, dragOffsetY: number, options?: MouseActionOptions): ui5ActionDefPromise;
hover(selector: UI5ChainSelection | Selector, options?: MouseActionOptions): ui5ActionDefPromise;
doubleClick(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
selectElement(selectorParent: UI5ChainSelection, positionInAggregation: number, withType?: boolean): ui5ActionDefPromise;
selectElementByText(selectorParent: UI5ChainSelection, title: string): ui5ActionDefPromise;
selectElementByIndex(selectorParent: UI5ChainSelection, index: number): ui5ActionDefPromise;
typeText(selector: UI5ChainSelection | Selector, text: string, options?: UI5TypeActionOptions): ui5ActionDefPromise;
clearText(selector: UI5ChainSelection | Selector): ui5ActionDefPromise;
expect(selector: UI5ChainSelection | any): ui5AssertDef;
expectAny(selector: any): ui5AssertOperator;
expectVisible(selector: UI5ChainSelection): ui5AssertOperatorVisible;
expectCount(selector: UI5ChainSelection): ui5AssertOperatorCount;
expectExists(selector: UI5ChainSelection): ui5AssertOperatorExists;
expectProperty(selector: UI5ChainSelection, propName: string): ui5AssertOperator;
expectNoSupportAssistantIssue(config?: ui5SupportAssistantAssertion): Promise;
rightClick(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
click(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
}
declare class ui5ActionDef implements ui5ActionDefIntf {
static currentTestRun: TestController;
lclTestRun: TestController;
static instances: ui5ActionDef[];
constructor(t: TestController);
getTestId(): string;
get t(): TestController;
debugSelector(selector?: UI5ChainSelection): Promise;
private _logSelector;
traceSelector(selector: UI5ChainSelection, traceOptions?: ui5TraceOptions): Promise;
expectExists(selector: UI5ChainSelection): ui5AssertOperatorExists;
expectCount(selector: UI5ChainSelection): ui5AssertOperatorCount;
expectVisible(selector: UI5ChainSelection): ui5AssertOperatorVisible;
expectProperty(selector: UI5ChainSelection, propName: string): ui5AssertOperator;
expectAny(selector: any): ui5AssertOperator;
expect(selector: UI5ChainSelection | any): ui5AssertDef;
expectNoSupportAssistantIssue(config?: ui5SupportAssistantAssertion): Promise;
private _getSelector;
clearText(selector: UI5ChainSelection | Selector): ui5ActionDefPromise;
traceSel(): Promise;
runSupportAssistant(): Promise;
deactivateAnimation(): Promise;
typeText(selector: UI5ChainSelection | Selector, text: string, options?: UI5TypeActionOptions): ui5ActionDefPromise;
selectElementByIndex(selectorParent: UI5ChainSelection, iIndex: number): ui5ActionDefPromise;
selectElementByText(selectorParent: UI5ChainSelection, title: string): ui5ActionDefPromise;
selectElement(selectorParent: UI5ChainSelection, positionInAggregation: number, withType?: boolean): ui5ActionDefPromise;
doubleClick(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
rightClick(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
debug(): ui5ActionDefPromise;
hover(selector: UI5ChainSelection | Selector, options?: MouseActionOptions): ui5ActionDefPromise;
drag(selector: UI5ChainSelection | Selector, dragOffsetX: number, dragOffsetY: number, options?: MouseActionOptions): ui5ActionDefPromise;
dragToElement(selector: UI5ChainSelection | Selector, destinationSelector: UI5ChainSelection | Selector, options?: MouseActionOptions): ui5ActionDefPromise;
selectText(selector: UI5ChainSelection | Selector, startPos?: number, endPos?: number, options?: ActionOptions): ui5ActionDefPromise;
click(selector: UI5ChainSelection | Selector, options?: ClickActionOptions): ui5ActionDefPromise;
takeElementScreenshot(selector: UI5ChainSelection | Selector, path: string, options?: TakeElementScreenshotOptions): ui5ActionDefPromise;
blur(): ui5ActionDefPromise;
pressKey(keys: string, options?: ActionOptions): ui5ActionDefPromise;
private _getCurrentTestIsLaunchpad;
private _delegateAPIToPromise;
}
interface ui5ActionDefPromise extends ui5ActionDef, Promise {
}
declare let ui5Action: ui5ActionProxyDef;
export { ui5Action, ui5ActionStep, ui5ActionDef, ui5Steps, ui5StepType, ui5StepStatus, ui5ActionDefIntf };