Skip to content
Vitest 2
Main Navigation GuíaAPIConfiguraciónModo NavegadorAvanzado
3.2.0
2.1.9
1.6.1
0.34.6

Español

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

Español

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

Apariencia

Sidebar Navigation

Why Browser Mode?

Getting Started

Context API

Interactivity API

Locators

Assertion API

Commands API

En esta página

API de Contexto ​

Vitest expone un módulo de contexto a través del punto de entrada @vitest/browser/context. A partir de la versión 2.0, este módulo proporciona un pequeño conjunto de utilidades que pueden ser útiles en tus pruebas.

userEvent ​

TIP

La API userEvent se explica en detalle en API de Interactividad.

ts
/**
 * Manejador para interacciones de usuario. El soporte está implementado por el proveedor del navegador (`playwright` o `webdriverio`).
 * Si se usa con el proveedor `preview`, recurre a eventos simulados mediante `@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

Esta API se explica en detalle en API de Comandos.

ts
/**
 * Comandos disponibles para el navegador.
 * Un atajo a `server.commands`.
 */
export const commands: BrowserCommands;

page ​

La exportación page ofrece utilidades para interactuar con la página actual.

WARNING

Aunque expone algunas utilidades de la página de Playwright, no es el mismo objeto. Dado que el contexto del navegador se evalúa en el navegador, tus pruebas no tienen acceso directo al objeto page de Playwright, ya que este se ejecuta en el servidor.

Usa la API de Comandos si necesitas tener acceso al objeto page de Playwright.

ts
export const page: {
  /**
   * Cambia el tamaño del viewport del iframe.
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * Realiza una captura de pantalla del iframe de prueba o de un elemento específico.
   * @returns Ruta al archivo de captura de pantalla o ruta y base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Extiende el objeto página predeterminado con métodos personalizados.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Envuelve un elemento HTML con un Locator. Al buscar elementos, la búsqueda siempre devolverá este elemento.
   */
  elementLocator(element: Element): Locator;

  /**
   * API de Locator. Consulta su documentación para obtener más detalles.
   */
  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

La API getBy* se explica en API de Locators.

cdp ​

La exportación cdp devuelve la sesión actual del Protocolo de Herramientas para Desarrolladores de Chrome. Es principalmente útil para que los autores de bibliotecas construyan herramientas sobre ella.

WARNING

La sesión de CDP solo funciona con el proveedor playwright y únicamente cuando se utiliza el navegador chromium. Puedes leer más sobre esto en la documentación de CDPSession de Playwright.

ts
export const cdp: () => CDPSession;

server ​

La exportación server representa el entorno Node.js donde se ejecuta el servidor Vitest. Es principalmente útil para depurar o adaptar tus pruebas según el entorno.

ts
export const server: {
  /**
   * Plataforma donde se ejecuta el servidor Vitest.
   * Equivalente a llamar a `process.platform` en el servidor.
   */
  platform: Platform;
  /**
   * Versión del tiempo de ejecución del servidor Vitest.
   * Equivalente a llamar a `process.version` en el servidor.
   */
  version: string;
  /**
   * Nombre del proveedor del navegador.
   */
  provider: string;
  /**
   * Nombre del navegador actual.
   */
  browser: string;
  /**
   * Comandos disponibles para el navegador.
   */
  commands: BrowserCommands;
  /**
   * Configuración de prueba serializada.
   */
  config: SerializedConfig;
};
Pager
AnteriorGetting Started
SiguienteInteractivity API

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team

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

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team