Skip to content
Vitest 3
Main Navigation Průvodce & APIKonfiguraceRežim prohlížečePokročilé API
3.2.0
2.1.9
1.6.1
0.34.6

čeština

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

čeština

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

Vzhled

Sidebar Navigation

Úvod

Proč režim prohlížeče

Režim prohlížeče

Konfigurace

Odkaz na konfiguraci prohlížeče

Konfigurace Playwrightu

Konfigurace WebdriverIO

API

Context API

Interaktivní API

Lokátory

Assertion API

Příkazy

Průvodce

Více nastavení

Konfigurace Vitestu

Testovací reference API

Rozšířené API

Na této stránce

Context API ​

Vitest zpřístupňuje kontextový modul prostřednictvím vstupního bodu @vitest/browser/context. Od verze 2.0 nabízí několik užitečných nástrojů, které mohou být nápomocné při testování.

userEvent ​

TIP

API userEvent je podrobně vysvětleno v Interactivity API.

ts
/**
 * Handler uživatelských interakcí. Podpora je implementována poskytovatelem prohlížeče (`playwright` nebo `webdriverio`).
 * Pokud se použije s poskytovatelem `preview`, přepne se na simulované události prostřednictvím `@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

Toto API je podrobně vysvětleno v Commands API.

ts
/**
 * Dostupné příkazy pro prohlížeč.
 * Zkratka pro `server.commands`.
 */
export const commands: BrowserCommands;

page ​

Export page poskytuje nástroje pro interakci s aktuální stránkou (page).

WARNING

Ačkoli poskytuje některé nástroje z Playwrightovy page, není to tentýž objekt. Jelikož se kontext prohlížeče vyhodnocuje přímo v prohlížeči, vaše testy nemají přístup k objektu page Playwrightu, protože ten běží na serveru.

Použijte Commands API, pokud potřebujete mít přístup k objektu Playwrightovy page.

ts
export const page: {
  /**
   * Změní velikost zobrazení iframe.
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * Pořídí snímek obrazovky testovacího iframe nebo konkrétního elementu.
   * @returns Cesta k souboru snímku obrazovky, nebo cesta a řetězec base64.
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * Rozšíří výchozí objekt `page` o vlastní metody.
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * Zabalí HTML prvek jako `Locator`. Při dotazování na elementy bude vyhledávání vždy vracet právě tento element.
   */
  elementLocator(element: Element): Locator;

  /**
   * API pro lokátory. Další podrobnosti naleznete v příslušné dokumentaci.
   */
  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* je podrobně vysvětleno v Locators API.

UPOZORNĚNÍ 3.2.0+

Upozorňujeme, že screenshot vždy vrátí řetězec base64, pokud je save nastaveno na false. V takovém případě je path ignorována.

cdp ​

Export cdp vrací aktuální relaci protokolu Chrome DevTools. Je to užitečné především pro autory knihoven k vytváření nástrojů, které na něm staví.

WARNING

Relace CDP funguje pouze s poskytovatelem playwright a výhradně při použití prohlížeče chromium. Více si o tom můžete přečíst v dokumentaci Playwrightu k CDPSession.

ts
export const cdp: () => CDPSession;

server ​

Export server představuje prostředí Node.js, ve kterém běží server Vitest. Je to užitečné především pro ladění nebo pro omezení vašich testů na základě prostředí.

ts
export const server: {
  /**
   * Platforma, na níž běží server Vitest.
   * Odpovídá volání `process.platform` na serveru.
   */
  platform: Platform;
  /**
   * Verze běhového prostředí serveru Vitest.
   * Odpovídá volání `process.version` na serveru.
   */
  version: string;
  /**
   * Název poskytovatele prohlížeče.
   */
  provider: string;
  /**
   * Název aktuálního prohlížeče.
   */
  browser: string;
  /**
   * Dostupné příkazy pro prohlížeč.
   */
  commands: BrowserCommands;
  /**
   * Serializovaná konfigurace testu.
   */
  config: SerializedConfig;
};
Pager
Předchozí stránkaKonfigurace WebdriverIO
Další stránkaInteraktivní API

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team

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

Vydáno pod licencí MIT.

Copyright (c) 2021-Present Vitest Team