@serenity-js/webdriverio
Version:
Adapter that integrates @serenity-js/web with the latest stable version of WebdriverIO, enabling Serenity/JS reporting and using the Screenplay Pattern to write web and mobile test scenarios
71 lines • 2.83 kB
TypeScript
import type { Stage, StageCrewMember } from '@serenity-js/core';
import type { DomainEvent } from '@serenity-js/core/lib/events/index.js';
import type { Outcome } from '@serenity-js/core/lib/model/index.js';
import type { Capabilities } from '@wdio/types';
import type { EventEmitter } from 'events';
import type { WebdriverIOConfig } from '../config/index.js';
/**
* @package
*/
export declare class WebdriverIONotifier implements StageCrewMember {
private readonly config;
private readonly capabilities;
private readonly reporter;
private readonly successThreshold;
private readonly cid;
private readonly specs;
private failures;
private stage?;
/**
* We don't have access to the "context" object produced by Mocha,
* and can't assume that other test runners have a similar concept.
* Since, at the time of writing, none of the WebdriverIO rely on this parameter
* using a dummy seems to be sufficient.
* @private
*/
private static dummmyContext;
private readonly events;
private readonly suites;
constructor(config: WebdriverIOConfig, capabilities: Capabilities.RequestedStandaloneCapabilities | Capabilities.RequestedStandaloneCapabilities[] | Capabilities.RequestedMultiremoteCapabilities | Capabilities.RequestedMultiremoteCapabilities[], reporter: EventEmitter, successThreshold: Outcome | {
Code: number;
}, cid: string, specs: string[], failures?: number, stage?: Stage);
assignedTo(stage: Stage): StageCrewMember;
notifyOf(event: DomainEvent): void;
private onTestRunFinishes;
failureCount(): number;
private onTestSuiteStarts;
private onTestSuiteFinished;
private suiteStartEventFrom;
private suiteNamesConcatenatedWith;
private suiteEndEventFrom;
private onSceneStarts;
private onSceneFinished;
private willBeRetried;
private testShortTitleFrom;
private testFrom;
private testStartEventFrom;
private parentSuiteName;
/**
* test status is 'passed' | 'pending' | 'skipped' | 'failed' | 'broken' | 'canceled'
* Since this is not documented, we're mimicking other WebdriverIO reporters, for example:
* https://github.com/webdriverio/webdriverio/blob/7415f3126e15a733b51721492e4995ceafae6046/packages/wdio-allure-reporter/src/constants.ts#L3-L9
*
* @param started
* @param finished
* @private
*/
private testResultFrom;
private testEndEventFrom;
private whenSuccessful;
private testResultEventFrom;
private errorFrom;
/**
* @see https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-utils/src/shim.ts
* @param hookName
* @param hookFunctions
* @param args
* @private
*/
private invokeHooks;
}
//# sourceMappingURL=WebdriverIONotifier.d.ts.map