Skip to content
Vitest 2
Main Navigation GuideAPIConfigurationMode NavigateurAvancé
3.2.0
2.1.9
1.6.1
0.34.6

Français

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

Français

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

Apparence

Sidebar Navigation

Why Browser Mode?

Getting Started

Context API

Interactivity API

Locators

Assertion API

Commands API

Sur cette page

API de contexte ​

Vitest expose un module de contexte via le point d'entrée @vitest/browser/context. Depuis la version 2.0, il propose un petit ensemble d'utilitaires qui peuvent vous être utiles dans vos tests.

userEvent ​

TIP

L'API userEvent est décrite en détail dans l'API d'interactivité.

ts
/**
 * Gestionnaire d'interactions utilisateur. Le support est implémenté par le fournisseur de navigateur (`playwright` ou `webdriverio`).
 * Si utilisé avec le fournisseur `preview`, il recourt à des événements simulés via `@testing-library/user-event`.
 * @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

Cette API est expliquée en détail dans API de commandes.

ts
/**
 * Commandes disponibles pour le navigateur.
 * Un raccourci vers `server.commands`.
 */
export const commands: BrowserCommands;

page ​

L'exportation page fournit des utilitaires pour interagir avec la page actuelle.

WARNING

Bien qu'il expose certains utilitaires de la page de Playwright, il ne s'agit pas du même objet. Étant donné que le contexte du navigateur est évalué dans le navigateur, vos tests n'ont pas accès à la page de Playwright, car celle-ci s'exécute sur le serveur.

Utilisez l'API de commandes si vous avez besoin d'accéder à l'objet page de Playwright.

ts
export const page: {
  /**
   * Modifie la taille de la zone d'affichage de l'iframe.
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * Effectue une capture d'écran de l'iframe de test ou d'un élément spécifique.
   * @returns Chemin vers le fichier de capture d'écran ou chemin et base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Étend l'objet `page` par défaut avec des méthodes personnalisées.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Encapsule un élément HTML dans un `Locator`. Lors de la recherche d'éléments, celle-ci retournera toujours cet élément.
   */
  elementLocator(element: Element): Locator;

  /**
   * API des Locators. Consultez sa documentation pour plus de détails.
   */
  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

L'API getBy* est expliquée dans API de Locators.

cdp ​

L'exportation cdp renvoie la session actuelle du protocole Chrome DevTools. Il est principalement destiné aux auteurs de bibliothèques pour développer des outils.

WARNING

La session CDP ne fonctionne qu'avec le fournisseur playwright et uniquement avec le navigateur chromium. Vous pouvez en savoir plus à ce sujet dans la documentation CDPSession de Playwright.

ts
export const cdp: () => CDPSession;

server ​

L'exportation server représente l'environnement Node.js dans lequel le serveur Vitest s'exécute. Il est principalement utile pour le débogage ou pour adapter vos tests à l'environnement.

ts
export const server: {
  /**
   * Plateforme sur laquelle le serveur Vitest s'exécute.
   * Identique à l'appel de `process.platform` sur le serveur.
   */
  platform: Platform;
  /**
   * Version du runtime du serveur Vitest.
   * Identique à l'appel de `process.version` sur le serveur.
   */
  version: string;
  /**
   * Nom du fournisseur de navigateur.
   */
  provider: string;
  /**
   * Nom du navigateur actuel.
   */
  browser: string;
  /**
   * Commandes disponibles pour le navigateur.
   */
  commands: BrowserCommands;
  /**
   * Configuration de test sérialisée.
   */
  config: SerializedConfig;
};
Pager
Page précédenteGetting Started
Page suivanteInteractivity API

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team

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

Publié sous la licence MIT.

Copyright (c) 2021-Present Vitest Team