Skip to content
Vitest 3
Main Navigation Przewodnik & APIKonfiguracjaTryb przeglądarkiZaawansowane API
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

Wprowadzenie

Dlaczego tryb przeglądarkowy

Tryb przeglądarkowy

Konfiguracja

Referencja konfiguracji przeglądarki

Konfigurowanie Playwright

Konfiguracja WebdriverIO

API

API kontekstowe

Interaktywne API

Lokatory

API asercji

Polecenia

Przewodnik

Wiele konfiguracji

Konfiguracja Vitest

Dokumentacja API testowego

Zaawansowane API

Na tej stronie

API kontekstowe ​

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

userEvent ​

TIP

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

ts
/**
 * Obsługa interakcji użytkownika jest realizowana przez dostawcę przeglądarki (`playwright` lub `webdriverio`).
 * W przypadku użycia z dostawcą `preview`, następuje powrót do symulowanych zdarzeń poprzez `@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 on niektóre narzędzia z obiektu page Playwrighta, nie jest to ten sam obiekt. Kontekst przeglądarki jest wykonywany w przeglądarce, więc Twoje testy nie mają dostępu do obiektu page Playwrighta, ponieważ działa on na serwerze.

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

ts
export const page: {
  /**
   * Zmienia rozmiar widoku iframe'a.
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * Wykonuje zrzut ekranu testowego iframe'a lub konkretnego elementu.
   * @returns Ścieżka do pliku zrzutu ekranu lub ścieżka wraz z base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Rozszerza domyślny obiekt `page` o niestandardowe metody.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Zawija element HTML w `Locator`. Podczas wyszukiwania elementów, wyszukiwanie zawsze zwróci ten element.
   */
  elementLocator(element: Element): Locator;

  /**
   * API Lokalizatorów. Więcej szczegółów znajdziesz w jego dokumentacji.
   */
  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.

OSTRZEŻENIE 3.2.0+

Zauważ, że screenshot zawsze zwróci ciąg base64, gdy save jest ustawione na false. W takim przypadku path jest również ignorowane.

cdp ​

Eksport cdp zwraca bieżącą sesję protokołu Chrome DevTools. Jest to przydatne głównie dla autorów bibliotek do budowania narzędzi na jego podstawie.

WARNING

Sesja CDP działa tylko z dostawcą playwright i wyłącznie podczas używania przeglądarki chromium. Więcej informacji można znaleźć 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 przydatne głównie do debugowania lub ograniczania testów w zależności od środowiska.

ts
export const server: {
  /**
   * Platforma, na której działa serwer Vitest.
   * Odpowiada wywołaniu `process.platform` na serwerze.
   */
  platform: Platform;
  /**
   * Wersja środowiska uruchomieniowego serwera Vitest.
   * Odpowiada wywołaniu `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;
  /**
   * Zserializowana konfiguracja testu.
   */
  config: SerializedConfig;
};
Pager
Poprzednia stronaKonfiguracja WebdriverIO
Następna stronaInteraktywne API

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team

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

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team