Skip to main content

externalSystemContextView <NET>

Interaction object representing the System Context view in the HTML report.

Shows runtime environment details captured during the test run: Node.js version, operating system, test runner, CI provider information, browser versions, and commit details. Each piece of information is displayed as a labelled context item.

Uses the ContextItem MetaQuestion pattern internally to extract structured label/value pairs from the rendered context items.

Instantiation

import { SystemContextView, Navigation } from '@serenity-js/html-reporter/serenity';
import { By, PageElement } from '@serenity-js/web';

const systemContextView = new SystemContextView(
PageElement.located(By.css('[data-testid="system-context"]')).describedAs('system context view'),
new Navigation(),
);

Usage in an integration test

await actor.attemptsTo(
systemContextView.open(),
Ensure.that(systemContextView.nodeVersion(), includes('22')),
Ensure.that(systemContextView.testRunner(), includes('Playwright')),
Ensure.that(systemContextView.operatingSystem(), includes('Linux')),
);

Hierarchy

Index

Constructors

externalconstructor

Methods

externalnodeVersion

  • The Node.js version used during the test run.

    Example

    Ensure.that(systemContextView.nodeVersion(), includes('22.'))

    Returns QuestionAdapter<string>

externalprojectName

  • The project name from package.json.

    Example

    Ensure.that(systemContextView.projectName(), equals('my-test-suite'))

    Returns QuestionAdapter<string>

externalpackageManager

  • The package manager used (e.g. 'npm 10.2.0', 'pnpm 9.1.0').

    Example

    Ensure.that(systemContextView.packageManager(), includes('pnpm'))

    Returns QuestionAdapter<string>

externaltestRunner

  • The test runner name and version (e.g. 'Playwright Test 1.44.0').

    Example

    Ensure.that(systemContextView.testRunner(), includes('Playwright'))

    Returns QuestionAdapter<string>

externaloperatingSystem

  • The operating system name and version.

    Example

    Ensure.that(systemContextView.operatingSystem(), includes('Linux'))

    Returns QuestionAdapter<string>

externalserenityVersion

  • The Serenity/JS framework version.

    Example

    Ensure.that(systemContextView.serenityVersion(), includes('3.'))

    Returns QuestionAdapter<string>

externalciProvider

  • The CI provider name (e.g. 'GitHub Actions', 'Jenkins').

    Example

    Ensure.that(systemContextView.ciProvider(), equals('GitHub Actions'))

    Returns QuestionAdapter<string>

externalciBuildNumber

  • The CI build number or ID.

    Example

    Ensure.that(systemContextView.ciBuildNumber(), equals('42'))

    Returns QuestionAdapter<string>

externalciBranch

  • The git branch name from CI context.

    Example

    Ensure.that(systemContextView.ciBranch(), equals('main'))

    Returns QuestionAdapter<string>

externalciCommit

  • The git commit SHA from CI context.

    Example

    Ensure.that(systemContextView.ciCommit(), includes('abc1234'))

    Returns QuestionAdapter<string>

externalcommitMessage

  • The commit message text from CI context.

    Example

    Ensure.that(systemContextView.commitMessage(), includes('fix: resolve timeout'))

    Returns QuestionAdapter<string>

externalbrowser

  • The version of a specific browser used during the test run.

    Example

    Ensure.that(systemContextView.browser('CHROMIUM'), includes('126.'))

    Parameters

    • externalname: string

      The browser label as it appears in the context items (e.g. 'CHROMIUM', 'FIREFOX')

    Returns QuestionAdapter<string>

externalopen

  • Navigates to the System Context view via the sidebar navigation.

    Example

    await actor.attemptsTo(
    systemContextView.open(),
    );

    Returns Task

externalbodyText

  • The full body text of the system context view.

    Example

    Ensure.that(systemContextView.bodyText(), includes('NODE.JS'))

    Returns QuestionAdapter<string>

externalisPresent

  • Checks whether the interaction object's root element is present in the DOM.

    Since InteractionObject implements Optional, you can assert on presence directly:

    Ensure.that(view, isPresent())

    Returns Answerable<boolean>