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
})
],
});
The testEnvironment
setting has to be the SAME for all reporters in the array! The following table shows which reporters can be enabled together.
AskUIAllureStepReporter | AskUIJestHtmlStepReporter | AskUIAnnotationStepReporter | AskUIXRayStepReporter | |
---|---|---|---|---|
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.