Skip to content
Vitest 2
Main Navigation LeitfadenAPIKonfigurationBrowser-ModusFortgeschritten
3.2.0
2.1.9
1.6.1
0.34.6

Deutsch

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Deutsch

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Aussehen

Sidebar Navigation

Why Browser Mode?

Getting Started

Context API

Interactivity API

Locators

Assertion API

Commands API

Auf dieser Seite

Kontext-API ​

Vitest stellt ein Kontextmodul über den Einstiegspunkt @vitest/browser/context bereit. Ab Version 2.0 bietet es eine kleine Anzahl nützlicher Dienstprogramme für Tests.

userEvent ​

TIP

Die userEvent-API wird im Detail unter Interaktivitäts-API erklärt.

ts
/**
 * Handler für Benutzerinteraktionen. Die Implementierung erfolgt durch den Browser-Provider (`playwright` oder `webdriverio`).
 * Bei Verwendung mit dem `preview`-Provider werden simulierte Ereignisse über `@testing-library/user-event` verwendet.
 * @experimental
 */
export const userEvent: {
  setup: () => UserEvent;
  cleanup: () => Promise<void>;
  click: (element: Element, options?: UserEventClickOptions) => Promise<void>;
  dblClick: (
    element: Element,
    options?: UserEventDoubleClickOptions
  ) => Promise<void>;
  tripleClick: (
    element: Element,
    options?: UserEventTripleClickOptions
  ) => Promise<void>;
  selectOptions: (
    element: Element,
    values: HTMLElement | HTMLElement[] | string | string[],
    options?: UserEventSelectOptions
  ) => Promise<void>;
  keyboard: (text: string) => Promise<void>;
  type: (
    element: Element,
    text: string,
    options?: UserEventTypeOptions
  ) => Promise<void>;
  clear: (element: Element) => Promise<void>;
  tab: (options?: UserEventTabOptions) => Promise<void>;
  hover: (element: Element, options?: UserEventHoverOptions) => Promise<void>;
  unhover: (element: Element, options?: UserEventHoverOptions) => Promise<void>;
  fill: (
    element: Element,
    text: string,
    options?: UserEventFillOptions
  ) => Promise<void>;
  dragAndDrop: (
    source: Element,
    target: Element,
    options?: UserEventDragAndDropOptions
  ) => Promise<void>;
};

commands ​

TIP

Diese API wird im Detail unter Befehls-API erklärt.

ts
/**
 * Verfügbare Befehle für den Browser.
 * Ein Shortcut für `server.commands`.
 */
export const commands: BrowserCommands;

page ​

Der page-Export stellt Dienstprogramme zur Interaktion mit der aktuellen page bereit.

WARNING

Obwohl er einige Dienstprogramme von Playwrights page bereitstellt, handelt es sich nicht um dasselbe Objekt. Da der Browserkontext im Browser ausgewertet wird, haben Ihre Tests keinen Zugriff auf Playwrights page, da dieses auf dem Server läuft.

Verwenden Sie die Befehls-API, wenn Sie Zugriff auf das page-Objekt von Playwright benötigen.

ts
export const page: {
  /**
   * Ändert die Viewport-Größe des Iframes.
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * Erstellt einen Screenshot des Test-Iframes oder eines bestimmten Elements.
   * @returns Pfad zur Screenshot-Datei oder Pfad und Base64-Daten.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Erweitert das Standard-`page`-Objekt um benutzerdefinierte Methoden.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Umschließt ein HTML-Element in einem `Locator`. Bei Elementabfragen wird immer dieses Element zurückgegeben.
   */
  elementLocator(element: Element): Locator;

  /**
   * Locator-APIs. Weitere Details finden Sie in dessen Dokumentation.
   */
  getByRole(role: ARIARole | string, options?: LocatorByRoleOptions): Locator;
  getByLabelText(text: string | RegExp, options?: LocatorOptions): Locator;
  getByTestId(text: string | RegExp): Locator;
  getByAltText(text: string | RegExp, options?: LocatorOptions): Locator;
  getByPlaceholder(text: string | RegExp, options?: LocatorOptions): Locator;
  getByText(text: string | RegExp, options?: LocatorOptions): Locator;
  getByTitle(text: string | RegExp, options?: LocatorOptions): Locator;
};

TIP

Die getBy*-API wird unter Locators-API erklärt.

cdp ​

Der cdp-Export gibt die aktuelle Sitzung des Chrome DevTools Protocol zurück. Er ist hauptsächlich für Bibliotheksautoren nützlich, um darauf aufbauend Tools zu erstellen.

WARNING

Die CDP-Sitzung funktioniert ausschließlich mit dem playwright-Provider und nur bei Verwendung des chromium-Browsers. Weitere Informationen dazu finden Sie in der Dokumentation zu Playwrights CDPSession.

ts
export const cdp: () => CDPSession;

server ​

Der server-Export stellt die Node.js-Umgebung dar, in der der Vitest-Server läuft. Er ist hauptsächlich nützlich zum Debuggen oder um Tests basierend auf der Umgebung einzuschränken.

ts
export const server: {
  /**
   * Plattform, auf der der Vitest-Server läuft.
   * Entspricht dem Aufruf von `process.platform` auf dem Server.
   */
  platform: Platform;
  /**
   * Laufzeitversion des Vitest-Servers.
   * Entspricht dem Aufruf von `process.version` auf dem Server.
   */
  version: string;
  /**
   * Name des Browser-Providers.
   */
  provider: string;
  /**
   * Name des aktuellen Browsers.
   */
  browser: string;
  /**
   * Verfügbare Befehle für den Browser.
   */
  commands: BrowserCommands;
  /**
   * Serialisierte Testkonfiguration.
   */
  config: SerializedConfig;
};
Pager
Vorherige SeiteGetting Started
Nächste SeiteInteractivity API

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team

https://v2.vitest.dev/guide/browser/context

Veröffentlicht unter der MIT-Lizenz.

Copyright (c) 2021-Present Vitest Team