Skip to content
Vitest 2
Main Navigation PrzewodnikAPIKonfiguracjaTryb przeglądarkiZaawansowany
3.2.0
2.1.9
1.6.1
0.34.6

Polski

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

Polski

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

Wygląd

Sidebar Navigation

Why Browser Mode?

Getting Started

Context API

Interactivity API

Locators

Assertion API

Commands API

Na tej stronie

API kontekstu ​

Vitest udostępnia moduł kontekstu poprzez punkt wejścia @vitest/browser/context. Od wersji 2.0 udostępnia niewielki zestaw narzędzi, które mogą być przydatne w testach.

userEvent ​

TIP

API userEvent jest szczegółowo wyjaśnione w API interaktywności.

ts
/**
 * Obsługa interakcji użytkownika. Wsparcie jest implementowane przez dostawcę przeglądarki (`playwright` lub `webdriverio`).
 * Jeśli jest używany z dostawcą `preview`, przechodzi na symulowane zdarzenia za pomocą `@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

To API jest szczegółowo wyjaśnione w API poleceń.

ts
/**
 * Dostępne polecenia dla przeglądarki.
 * Skrót do `server.commands`.
 */
export const commands: BrowserCommands;

page ​

Eksport page udostępnia narzędzia do interakcji z bieżącą stroną.

WARNING

Chociaż udostępnia niektóre narzędzia z obiektu page Playwrighta, nie jest to ten sam obiekt. Ponieważ kontekst przeglądarki jest wykonywany w przeglądarce, twoje testy nie mają dostępu do obiektu page Playwrighta, ponieważ jest wykonywany na serwerze.

Użyj API poleceń, jeśli potrzebujesz dostępu do obiektu page z Playwrighta.

ts
export const page: {
  /**
   * Zmień rozmiar obszaru widoku iframe.
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * Wykonaj zrzut ekranu z testowego iframe lub konkretnego elementu.
   * @returns Ścieżka do pliku zrzutu ekranu lub ścieżka i base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Rozszerz domyślny obiekt `page` o własne metody.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Opakuj element HTML w obiekt `Locator`. Podczas wyszukiwania elementów, zawsze zostanie zwrócony ten element.
   */
  elementLocator(element: Element): Locator;

  /**
   * API Lokalizatorów. Zobacz dokumentację, aby uzyskać więcej szczegółów.
   */
  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

API getBy* jest wyjaśnione w API Lokalizatorów.

cdp ​

Eksport cdp zwraca bieżącą sesję Chrome DevTools Protocol. Jest to głównie przydatne dla autorów bibliotek, którzy chcą budować narzędzia w oparciu o nią.

WARNING

Sesja CDP działa tylko z dostawcą playwright i tylko podczas używania przeglądarki chromium. Możesz przeczytać więcej na ten temat w dokumentacji CDPSession Playwrighta.

ts
export const cdp: () => CDPSession;

server ​

Eksport server reprezentuje środowisko Node.js, w którym działa serwer Vitest. Jest to głównie przydatne do debugowania lub ograniczania testów w zależności od środowiska wykonania.

ts
export const server: {
  /**
   * Platforma, na której działa serwer Vitest.
   * To samo co wywołanie `process.platform` na serwerze.
   */
  platform: Platform;
  /**
   * Wersja środowiska uruchomieniowego serwera Vitest.
   * To samo co wywołanie `process.version` na serwerze.
   */
  version: string;
  /**
   * Nazwa dostawcy przeglądarki.
   */
  provider: string;
  /**
   * Nazwa bieżącej przeglądarki.
   */
  browser: string;
  /**
   * Dostępne polecenia dla przeglądarki.
   */
  commands: BrowserCommands;
  /**
   * Konfiguracja testu w postaci zserializowanej.
   */
  config: SerializedConfig;
};
Pager
Poprzednia stronaGetting Started
Następna stronaInteractivity API

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team

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

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team