🏡 index : quine-global/webdriverio.git

import type { AllureStep, AllureTest, ExecutableItemWrapper } from 'allure-js-commons'
/**
 * When you add a new option, please also update the docs at ./packages/wdio-allure-reporter/README.md
 */
export interface AllureReporterOptions {
    /**
     * defaults to `./allure-results`. After a test run is complete, you will find that this directory
     * has been populated with an `.xml` file for each spec, plus a number of `.txt` and `.png`
     * files and other attachments.
     */
    outputDir?: string
    /**
     * optional parameter (`false` by default), set it to true in order to change the report hierarchy
     * when using cucumber. Try it for yourself and see how it looks.
     */
    useCucumberStepReporter?: boolean
    /**
     * optional parameter (`false` by default), set it to true in order to not fetch the `before/after`
     * stacktrace/screenshot/result hooks into the Allure Reporter.
     */
    disableMochaHooks?: boolean
    /**
     * optional parameter(`false` by default), in order to log only custom steps to the reporter.
     */
    disableWebdriverStepsReporting?: boolean
    /**
     * optional parameter(`false` by default), in order to not attach screenshots to the reporter.
     */
    disableWebdriverScreenshotsReporting?: boolean
    /**
     * optional parameter, in order to specify the issue link pattern. Reporter will replace `{}` placeholder
     * with value specified in `addIssue(value)` call parameter.
     * Example `https://example.org/issue/{}`
     */
    issueLinkTemplate?: string
    /**
     * optional parameter, in order to specify the tms link pattern. Reporter will replace `{}` placeholder
     * with value specified in `addTestId(value)` call parameter. Example `https://example.org/tms/{}`
     */
    tmsLinkTemplate?: string
    /**
    * set to true in order to attach console logs from step to the reporter.
    * @default false
    */
    addConsoleLogs?: boolean
    /**
    * Set this option to display the environment variables in the report.
    * Note that setting this does not modify the actual environment variables.
    */
    reportedEnvironmentVars?: Record<string, string>
}

export interface AddLabelEventArgs {
    name: string
    value: string
}

export interface AddStoryEventArgs {
    storyName: string
}

export interface AddAllureIdEventArgs {
    id: string
}

export interface AddFeatureEventArgs {
    featureName: string
}

export interface AddSeverityEventArgs {
    severity: string
}

export interface AddEpicEventArgs {
    epicName: string
}

export interface AddSuiteEventArgs {
    suiteName: string
}

export interface AddParentSuiteEventArgs {
    suiteName: string
}

export interface AddSubSuiteEventArgs {
    suiteName: string
}

export interface AddOwnerEventArgs {
    owner: string
}

export interface AddTagEventArgs {
    tag: string
}

export interface AddLinkEventArgs {
    url: string
    name?: string
    type?: string
}

export interface AddIssueEventArgs {
    issue: string
    linkName?: string
}

export interface AddTestIdEventArgs {
    testId: string
    linkName?: string
}

export enum TYPE {
    TEXT = 'text',
    HTML = 'html',
    MARKDOWN = 'markdown'
}

export interface AddDescriptionEventArgs {
    description?: string
    descriptionType?: TYPE
}

export interface AddAttachmentEventArgs {
    name: string
    content: string | object
    type: string
}

export interface Step {
    attachments: Attachment[];
    addStep(step: Step): void;
    addAttachment(attachment: Attachment): void;
    end(status: Status, error: Error, timestamp?: number): void;
    toXML(): string;
}

export type Status = 'passed' | 'pending' | 'skipped' | 'failed' | 'broken' | 'canceled'
export interface Attachment {
    addStep(step: Step): void;
    addAttachment(attachment: Attachment): void;
    end(status: Status, error: Error, timestamp?: number): void;
    toXML(): string;
}

export type AllureStepableUnit = AllureTest | AllureStep | ExecutableItemWrapper

declare global {
    namespace WebdriverIO {
        interface ReporterOption extends AllureReporterOptions { }
    }
}