Skip to content
Vitest 3
Main Navigation ガイド & API設定ブラウザモード高度なAPI
3.2.0
2.1.9
1.6.1
0.34.6

日本語

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

日本語

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

外観

Sidebar Navigation

はじめに

なぜブラウザモードなのか

ブラウザーモード

設定

ブラウザ設定リファレンス

Playwright の設定

WebdriverIO の設定

API

Context API

インタラクティビティ API

ロケーター

アサーション API

コマンド

ガイド

複数のセットアップ

Vitest の設定

テストAPIリファレンス

上級者向けAPI

このページの内容

Context API ​

Vitest は、@vitest/browser/context エントリポイントを通じてコンテキストモジュールを提供しています。バージョン2.0以降、このモジュールはテストに役立ついくつかのユーティリティを公開しています。

userEvent ​

TIP

userEvent API の詳細については、Interactivity API を参照してください。

ts
/**
 * ユーザー操作のハンドラー。この機能はブラウザプロバイダー(`playwright` または `webdriverio`)によって実装されます。
 * `preview` プロバイダーで使用する場合、イベントシミュレーションは `@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

この API の詳細については、Commands API を参照してください。

ts
/**
 * ブラウザで利用可能なコマンド。
 * `server.commands` へのショートカットです。
 */
export const commands: BrowserCommands;

page ​

page エクスポートは、現在の page と対話するためのユーティリティを提供します。

WARNING

Playwright の page からいくつかのユーティリティを公開していますが、これらは同じオブジェクトではありません。ブラウザコンテキストはブラウザで評価されるため、テストは Playwright の page に直接アクセスできません。Playwright の page はサーバー上で実行されるためです。

Playwright の page オブジェクトにアクセスする必要がある場合は、Commands API を使用してください。

ts
export const page: {
  /**
   * iframe のビューポートサイズを変更します。
   */
  viewport(width: number, height: number): Promise<void>;
  /**
   * テスト iframe または特定の要素のスクリーンショットを取得します。
   * @returns スクリーンショットファイルのパス、またはパスと base64 データ。
   */
  screenshot(
    options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
  ): Promise<{
    path: string;
    base64: string;
  }>;
  screenshot(options?: ScreenshotOptions): Promise<string>;
  /**
   * デフォルトの `page` オブジェクトにカスタムメソッドを追加します。
   */
  extend(methods: Partial<BrowserPage>): BrowserPage;
  /**
   * HTML 要素を `Locator` でラップします。要素をクエリする際、検索は常にこの要素を返します。
   */
  elementLocator(element: Element): Locator;

  /**
   * Locator API。詳細についてはドキュメントを参照してください。
   */
  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

getBy* API は Locators API で説明されています。

WARNING 3.2.0+

save が false に設定されている場合、screenshot は常に base64 文字列を返します。 この場合、path は無視されます。

cdp ​

cdp エクスポートは、現在の Chrome DevTools Protocol セッションを返します。これは主に、その上にツールを構築するライブラリ開発者にとって役立ちます。

WARNING

CDPセッションは、playwrightプロバイダーかつchromiumブラウザを使用している場合にのみ利用可能です。詳細については、Playwright の CDPSession ドキュメントを参照してください。

ts
export const cdp: () => CDPSession;

server ​

server エクスポートは、Vitest サーバーが実行されている Node.js 環境を表します。これは主に、デバッグや環境に基づいてテストを制限する際に役立ちます。

ts
export const server: {
  /**
   * Vitest サーバーが実行されているプラットフォーム。
   * サーバーで `process.platform` を呼び出すのと同等です。
   */
  platform: Platform;
  /**
   * Vitest サーバーのランタイムバージョン。
   * サーバーで `process.version` を呼び出すのと同等です。
   */
  version: string;
  /**
   * ブラウザプロバイダーの名前。
   */
  provider: string;
  /**
   * 現在のブラウザの名前。
   */
  browser: string;
  /**
   * ブラウザで利用可能なコマンド。
   */
  commands: BrowserCommands;
  /**
   * シリアライズされたテスト設定。
   */
  config: SerializedConfig;
};
Pager
前のページWebdriverIO の設定
次のページインタラクティビティ API

MITライセンス の下で公開されています。

Copyright (c) 2021-Present Vitest Team

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

MITライセンス の下で公開されています。

Copyright (c) 2021-Present Vitest Team