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

로케이터

Assertion API

명령어

가이드

다중 설정

Vitest 구성하기

테스트 API 참조

고급 API

이 페이지에서

Context API ​

Vitest는 @vitest/browser/context 엔트리 포인트를 통해 컨텍스트 모듈을 제공합니다. Vitest 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 export는 현재 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 export는 현재 Chrome DevTools Protocol 세션을 반환합니다. 주로 라이브러리 개발자가 이를 기반으로 도구를 구축하는 데 활용됩니다.

WARNING

CDP 세션은 playwright 제공자와 chromium 브라우저를 사용할 경우에만 작동합니다. 자세한 내용은 playwright의 CDPSession 문서를 참조하십시오.

ts
export const cdp: () => CDPSession;

server ​

server export는 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