Skip to content
Vitest 3
Main Navigation Guida & APIConfigurazioneModalità BrowserAPI avanzata
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

Introduzione

Perché la modalità browser

Modalità Browser

Configurazione

Riferimento alla Configurazione del Browser

Configurazione di Playwright

Configurazione di WebdriverIO

API

API del Contesto

API di Interazione

Localizzatori

API di Asserzione

Comandi

Guida

Configurazioni Multiple

Configurazione di Vitest

Riferimento API di test

API Avanzate

In questa pagina

API del Contesto ​

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

userEvent ​

TIP

L'API userEvent è spiegata in dettaglio nell'API di interattività.

ts
/**
 * Gestore delle interazioni utente. Il supporto è implementato dal provider del browser (`playwright` o `webdriverio`).
 * Se utilizzato con il provider `preview`, ripiega su 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 nell'API dei comandi.

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

page ​

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

WARNING

Sebbene esponga alcune utilità dall'oggetto page di Playwright, non è lo stesso oggetto. Poiché il contesto del browser viene eseguito nel browser, i tuoi test non hanno accesso all'oggetto page di Playwright, in quanto quest'ultimo viene eseguito sul server.

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

ts
export const page: {
  /**
   * Modifica 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 stringa base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Estende l'oggetto `page` predefinito con metodi personalizzati.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Incapsula un elemento HTML in un `Locator`. Quando si cercano elementi, la ricerca restituirà sempre questo elemento.
   */
  elementLocator(element: Element): Locator;

  /**
   * API per i Locator. Per maggiori dettagli, consultare la sua documentazione.
   */
  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 nell'API dei Locator.

ATTENZIONE 3.2.0+

Si noti che screenshot restituirà sempre una stringa in formato base64 se save è impostato a false. In tal caso, il path viene anche ignorato.

cdp ​

L'esportazione cdp restituisce la sessione corrente del Chrome DevTools Protocol. È principalmente utile agli autori di librerie per costruire strumenti basati su di essa.

WARNING

La sessione CDP è disponibile solo con il provider playwright e solo quando si utilizza il browser chromium. È possibile leggere maggiori informazioni a riguardo nella documentazione di Playwright CDPSession.

ts
export const cdp: () => CDPSession;

server ​

L'esportazione server rappresenta l'ambiente Node.js dove viene eseguito il server Vitest. È principalmente utile per il debug o per condizionare i test in base all'ambiente.

ts
export const server: {
  /**
   * Piattaforma su cui è in esecuzione il server Vitest.
   * Equivalente a chiamare `process.platform` sul server.
   */
  platform: Platform;
  /**
   * Versione del runtime del server Vitest.
   * Equivalente a 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 precedenteConfigurazione di WebdriverIO
Pagina successivaAPI di Interazione

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team

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

Rilasciato sotto la licenza MIT.

Copyright (c) 2021-Present Vitest Team