flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
82 lines (81 loc) • 3.06 kB
TypeScript
/// <reference types="node" />
import { ResponseType } from "./response";
import { Scenario } from "./scenario";
import { URL } from 'url';
export declare enum SuiteStatusEvent {
beforeAllExecute = 0,
beforeEachExecute = 1,
afterEachExecute = 2,
afterAllExecute = 3,
finished = 4
}
export declare class Suite {
scenarios: Array<Scenario>;
private _homeScore;
readonly baseUrl: URL | null;
readonly hasPassed: boolean;
readonly hasFailed: boolean;
readonly hasExecuted: boolean;
readonly hasFinished: boolean;
readonly totalDuration: number | null;
readonly executionDuration: number | null;
readonly title: string;
protected _subscribers: Function[];
protected _errorCallbacks: Function[];
protected _successCallbacks: Function[];
protected _failureCallbacks: Function[];
protected _finallyCallbacks: Function[];
protected _beforeAllCallbacks: Function[];
protected _afterAllCallbacks: Function[];
protected _beforeEachCallbacks: Function[];
protected _afterEachCallbacks: Function[];
protected _beforeAllPromise: Promise<void>;
protected _beforeAllResolver: Function;
protected _title: string;
protected _baseUrl: URL | null;
protected _timeSuiteInitialized: number;
protected _timeSuiteExecuted: number | null;
protected _timeSuiteFinished: number | null;
protected _waitToExecute: boolean;
protected _verifySslCert: boolean;
constructor(title: string);
subscribe(callback: Function): void;
verifySslCert(verify: boolean): Suite;
wait(bool?: boolean): Suite;
print(exitAfterPrint?: boolean): void;
scenario(title: string, type: ResponseType, opts: any): Scenario;
json(title: string, opts?: any): Scenario;
image(title: string, opts?: any): Scenario;
video(title: string, opts?: any): Scenario;
html(title: string, opts?: any): Scenario;
stylesheet(title: string, opts?: any): Scenario;
script(title: string, opts?: any): Scenario;
resource(title: string, opts?: any): Scenario;
browser(title: string, opts?: any): Scenario;
extjs(title: string, opts?: any): Scenario;
base(url: string | {}): Suite;
buildUrl(path: string): string;
execute(): Suite;
beforeAll(callback: Function): Suite;
beforeEach(callback: Function): Suite;
afterEach(callback: Function): Suite;
afterAll(callback: Function): Suite;
catch(callback: Function): Suite;
success(callback: Function): Suite;
failure(callback: Function): Suite;
finally(callback: Function): Suite;
private _haveAllScenariosFinished;
private _fireBeforeAll;
private _fireBeforeEach;
private _fireAfterEach;
private _fireAfterAll;
private _fireSuccess;
private _fireFailure;
private _fireError;
private _fireFinally;
private _onBeforeScenarioExecutes;
private _onAfterScenarioExecutes;
private _onAfterScenarioFinished;
protected _beforeAllResolved(): Promise<any>;
protected _publish(statusEvent: SuiteStatusEvent): void;
}