Skip to content
Vitest 2
Main Navigation GuidaAPIConfigurazioneModalità BrowserAvanzato
3.2.0
2.1.9
1.6.1
0.34.6

Italiano

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

Italiano

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

Aspetto

Sidebar Navigation

Why Browser Mode?

Getting Started

Context API

Interactivity API

Locators

Assertion API

Commands API

In questa pagina

API di contesto ​

Vitest espone un modulo di contesto tramite il punto di ingresso @vitest/browser/context. A partire dalla versione 2.0, espone un piccolo set di utilità che possono esserti utili nei test.

userEvent ​

TIP

L'API userEvent è spiegata in dettaglio in API di interazione.

ts
/**
 * Gestore delle interazioni utente. Il supporto è implementato dal provider del browser (`playwright` o `webdriverio`).
 * Se utilizzato con il provider `preview`, utilizza eventi simulati tramite `@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

Questa API è spiegata in dettaglio in API dei comandi.

ts
/**
 * Comandi disponibili per il browser.
 * Un alias di `server.commands`.
 */
export const commands: BrowserCommands;

page ​

L'export page fornisce utilità per interagire con la page corrente.

WARNING

Sebbene esponga alcune utilità dalla page di Playwright, non è lo stesso oggetto. Poiché il contesto del browser viene valutato nel browser, i tuoi test non hanno accesso alla page di Playwright perché viene eseguita sul server.

Utilizza l'API dei comandi se hai bisogno di accedere all'oggetto page di Playwright.

ts
export const page: {
  /**
   * Cambia la dimensione del viewport dell'iframe.
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * Acquisisce uno screenshot dell'iframe di test o di un elemento specifico.
   * @returns Percorso del file dello screenshot o percorso e base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Estende l'oggetto `page` di default con metodi personalizzati.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Incapsula un elemento HTML in un `Locator`. Durante le ricerche, verrà sempre restituito questo elemento.
   */
  elementLocator(element: Element): Locator;

  /**
   * API dei Locator. Consulta la sua documentazione per maggiori dettagli.
   */
  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* è spiegata in API dei Locator.

cdp ​

L'export cdp restituisce la sessione attuale del Chrome DevTools Protocol. È principalmente utile agli sviluppatori di librerie per creare strumenti basati su di essa.

WARNING

La sessione CDP è compatibile solo con il provider playwright e solo quando si utilizza il browser chromium. Puoi leggere di più a riguardo nella documentazione di CDPSession di Playwright.

ts
export const cdp: () => CDPSession;

server ​

L'export server rappresenta l'ambiente Node.js in cui è in esecuzione il server Vitest. È utile principalmente per il debug o per filtrare i test in base all'ambiente.

ts
export const server: {
  /**
   * Piattaforma su cui il server Vitest è in esecuzione.
   * Lo stesso di chiamare `process.platform` sul server.
   */
  platform: Platform;
  /**
   * Versione del runtime del server Vitest.
   * Lo stesso di chiamare `process.version` sul server.
   */
  version: string;
  /**
   * Nome del provider del browser.
   */
  provider: string;
  /**
   * Nome del browser corrente.
   */
  browser: string;
  /**
   * Comandi disponibili per il browser.
   */
  commands: BrowserCommands;
  /**
   * Configurazione di test serializzata.
   */
  config: SerializedConfig;
};
Pager
Pagina precedenteGetting Started
Pagina successivaInteractivity API

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team

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

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team