/// import { TestSuiteContext } from "./test-suite-context.class"; import { Maybe, SimpleLogger } from "@sakuli/commons"; import { FinishedMeasurable, Measurable, StartedMeasurable } from "./measureable.interface"; import { TestCaseContext } from "./test-case-context.class"; import { TestStepContext } from "./test-step-context.class"; import { TestActionContext } from "./test-action-context.class"; import { TestExecutionContextRaw } from "./test-execution-context-raw.interface"; import { TestContextEntityState } from "./test-context-entity-state.class"; import { EventEmitter } from "events"; import { END_EXECUTION, END_TESTACTION, END_TESTCASE, END_TESTSTEP, END_TESTSUITE, START_EXECUTION, START_TESTACTION, START_TESTCASE, START_TESTSTEP, START_TESTSUITE, TestActionChangeListener, TestActionEndListener, TestCaseChangeListener, TestCaseEndListener, TestStepChangeListener, TestStepEndListener, TestSuiteChangeListener, TestSuiteEndListener, UPDATE_TESTACTION, UPDATE_TESTCASE, UPDATE_TESTSTEP, UPDATE_TESTSUITE } from "./test-execution-context.events"; export declare type TestExecutionChangeListener = (state: TestExecutionContext) => void; /** * An execution-context is the main bridge between sakuli and any api that runs on sakuli * */ export declare class TestExecutionContext extends EventEmitter implements Measurable { readonly logger: SimpleLogger; startDate: Date | null; endDate: Date | null; readonly testSuites: TestSuiteContext[]; error: Maybe; constructor(logger: SimpleLogger); on(e: typeof START_EXECUTION, cb: (e: TestExecutionContext) => void): this; on(e: typeof END_EXECUTION, cb: (e: TestExecutionContext) => void): this; on(e: typeof START_TESTSUITE, cb: TestSuiteChangeListener): this; on(e: typeof UPDATE_TESTSUITE, cb: TestSuiteChangeListener): this; on(e: typeof END_TESTSUITE, cb: TestSuiteEndListener): this; on(e: typeof START_TESTCASE, cb: TestCaseChangeListener): this; on(e: typeof UPDATE_TESTCASE, cb: TestCaseChangeListener): this; on(e: typeof END_TESTCASE, cb: TestCaseEndListener): this; on(e: typeof START_TESTSTEP, cb: TestStepChangeListener): this; on(e: typeof UPDATE_TESTSTEP, cb: TestStepChangeListener): this; on(e: typeof END_TESTSTEP, cb: TestStepEndListener): this; on(e: typeof START_TESTACTION, cb: TestActionChangeListener): this; on(e: typeof UPDATE_TESTACTION, cb: TestActionChangeListener): this; on(e: typeof END_TESTACTION, cb: TestActionEndListener): this; on(e: "change", cb: (e: TestExecutionContext) => void): this; startExecution(): void; isExecutionStarted(): this is StartedMeasurable; isExecutionFinished(): this is FinishedMeasurable; endExecution(): void; get entities(): (TestActionContext | TestStepContext | TestCaseContext | TestSuiteContext)[]; get testCases(): TestCaseContext[]; get testSteps(): TestStepContext[]; get testActions(): TestActionContext[]; get duration(): number; startTestSuite(testSuite?: Partial): void; getCurrentTestSuite(): Maybe; updateCurrentTestSuite(testSuite: Partial): TestSuiteContext; private _updateCurrentTestSuite; endTestSuite(): void; startTestCase(testCase?: Partial): void; getCurrentTestCase(): Maybe; updateCurrentTestCase(testCaseContext: Partial): TestCaseContext & Partial; private _updateCurrentTestCase; endTestCase(): void; startTestStep(testStep?: Partial): void; updateCurrentTestStep(testStep: Partial): TestStepContext & Partial; private _updateCurrentTestStep; endTestStep(): void; getCurrentTestStep(): Maybe; startTestAction(testAction: Partial): void; updateCurrentTestAction(testAction: Partial): TestActionContext; /** * The actual logic to update a test action - will not emit any event * @param testAction * @private */ private _updateCurrentTestAction; endTestAction(): void; getCurrentTestAction(): Maybe; private emitChange; onChange(listener: TestExecutionChangeListener): void; get resultState(): TestContextEntityState; toJson(): TestExecutionContextRaw; } //# sourceMappingURL=test-execution-context.class.d.ts.map