Skip to content
Vitest 3
Main Navigation Guía & APIConfiguraciónModo NavegadorAPI avanzada
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

Introducción

Por qué el modo navegador

Modo Navegador

Configuración

Referencia de Configuración del Navegador

Configuración de Playwright

Configuración de WebdriverIO

API

API de Contexto

API de interactividad

Localizadores

API de Aserciones

Comandos

Guía

Múltiples configuraciones

Configuración de Vitest

Referencia de la API de prueba

API Avanzadas

En esta página

API de Contexto ​

Vitest expone un módulo de contexto a través del punto de entrada @vitest/browser/context. Desde la versión 2.0, proporciona un conjunto de utilidades que pueden ser de gran ayuda en tus pruebas.

userEvent ​

TIP

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

ts
/**
 * Gestiona las interacciones del usuario. El soporte es proporcionado por el proveedor del navegador (`playwright` o `webdriverio`).
 * Si se utiliza con el proveedor `preview`, recurre a eventos simulados a través de `@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 proporciona 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 acceder al objeto page de Playwright.

ts
export const page: {
  /**
   * Cambia el tamaño de la ventana gráfica 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 la captura de pantalla o una cadena en base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Extiende el objeto de página predeterminado con métodos personalizados.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Envuelve un elemento HTML en un `Locator`. Al consultar elementos, la búsqueda siempre devolverá este elemento.
   */
  elementLocator(element: Element): Locator;

  /**
   * APIs de Localizador. Consulta la documentación para 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 Localizadores.

ADVERTENCIA 3.2.0+

Ten en cuenta que screenshot siempre devolverá una cadena base64 si save se establece en false. La ruta también se ignora en ese caso.

cdp ​

La exportación cdp devuelve la sesión actual del Protocolo de Herramientas de Desarrollo de Chrome (CDP). Es especialmente útil para los autores de bibliotecas que deseen construir herramientas sobre él.

WARNING

La sesión 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 en el que se ejecuta el servidor Vitest. Es especialmente útil para depurar o para adaptar tus pruebas en función del entorno.

ts
export const server: {
  /**
   * Plataforma en la que 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
AnteriorConfiguración de WebdriverIO
SiguienteAPI de interactividad

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team

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

Publicado bajo la licencia MIT.

Copyright (c) 2021-Present Vitest Team