Skip to main content
Version: 0.20.7

Getting Started

We provide a package @askui/askui-reporters with reporters ready-to-use into your AskUI runs. Check out the repository for more details.

Installation

Install @askui/askui-reporters as a dev-dependency:

npm install --save-dev @askui/askui-reporters

Available Reporters

Enable Multiple Reporters

You can enable multiple reporters simultaneously by passing an array of reporters in the reporter property like this:

aui = await UiControlClient.build({
reporter: [
new AskUIAnnotationStepReporter(
AnnotationLevel.ALL,
"annotation_report",
"_annotation"
),
new AskUIJestHtmlStepReporter({
withScreenshots: 'always' as const, // See below for possible values
withDetectedElements: 'always' as const, // See below for possible values
})
],
});
caution

The testEnvironment setting has to be the SAME for all reporters in the array! The following table shows which reporters can be enabled together.

AskUIAllureStepReporterAskUIJestHtmlStepReporterAskUIAnnotationStepReporterAskUIXRayStepReporter
AskUIAllureStepReporter
AskUIJestHtmlStepReporter
AskUIAnnotationStepReporter
AskUIXRayStepReporter

Implement Your Own Reporter

To write your own reporter you have to implement AskUI's Reporter interface. It offers three optional methods you can overwrite to adapt to your specific reporter framework:

export interface Reporter {
config?: ReporterConfig;
onStepBegin?(step: Step): Promise<void>;
onStepRetry?(step: Step): Promise<void>;
onStepEnd?(step: Step): Promise<void>;
}

See the Example implementation for Allure on how that is used to extract the screenshot before/after each step and how to record a video of each step.