---
title: WebDriver
description: WebDriver 테스트
sidebar:
  order: 10
  label: 개요
i18nReady: true
---

import TranslationNote from '@components/i18n/TranslationNote.astro';

[WebDriver]는 주로 자동 테스트를 목적으로 한, 웹 문서와의 상호 작용을 위한 표준화된 인터페이스입니다.
Tauri는 크로스 플랫폼 래퍼 [`tauri-driver`] 하에서 네이티브 플랫폼의 [WebDriver] 서버를 이용하여 [WebDriver] 인터페이스를 지원합니다.
데스크톱에서는 Windows와 Linux만 지원됩니다. macOS에서는 WKWebView 드라이버 도구를 사용할 수 없기 때문입니다.
iOS와 Android에서는 소프트웨어 자동 테스트 에코시스템 [Appium 2]를 통해 작동하지만, 현재로서는 그 프로세스가 간소화되어 있지 않습니다.

## 시스템 의존성

다음 명령을 실행하여 최신 [`tauri-driver`]를 설치하거나 기존 설치를 업데이트합니다:

```shell
cargo install tauri-driver --locked
```

Tauri는 현재 각 플랫폼의 네이티브 [WebDriver] 서버를 이용하고 있으므로, 지원되는 플랫폼에서 [`tauri-driver`]를 실행하려면 다음과 같은 몇 가지 전제 조건이 있습니다.

### Linux의 경우

Linux 플랫폼에서는 `WebKitWebDriver`를 사용합니다. 이 바이너리가 이미 시스템 내에 있는지 확인하십시오(명령 `which WebKitWebDriver`로 확인할 수 있습니다). 일부 배포판에서는 이 바이너리가 일반 WebKit 패키지에 번들로 제공되기 때문입니다.
다른 플랫폼에서는 예를 들어 Debian 기반 배포판의 `webkit2gtk-driver`와 같이 별도의 패키지가 제공될 수 있습니다.

### Windows의 경우

애플리케이션을 빌드하고 테스트하는 Windows Edge 버전과 일치하는 [Microsoft Edge WebDriver] 버전을 반드시 가져와야 합니다.
해당 버전은 최신 Windows 설치에서는 거의 항상 최신 안정 버전일 것입니다.
이 두 버전이 일치하지 않으면 연결 시 "WebDriver 테스트 스위트"가 중단될 수 있습니다.

<TranslationNote lang="ko">

**테스트 스위트** testing suite: 소프트웨어 검증 시 사용하는 일련의 "테스트 케이스"를 효율적으로 실행하기 위해 하나로 묶은 것.

</TranslationNote>

다운로드에는 `msedgedriver.exe`라는 바이너리가 포함되어 있습니다. [`tauri-driver`]는 `$PATH`에서 해당 바이너리를 검색하므로 경로에서 액세스할 수 있는지 확인하거나 [`tauri-driver`]에서 `--native-driver` 옵션을 사용하십시오.
Windows [CI](#지속적-통합ci) 머신에서 Edge와 Edge Driver 버전이 확실히 동기화되도록 하려면 CI 설정 프로세스의 일부로 자동으로 다운로드하고 싶을 수 있습니다.
이 처리 실행 방법에 대한 지침은 나중에 추가될 것으로 보입니다.

## 모델 애플리케이션 사례

<TranslationNote lang="ko">

**모델 애플리케이션** 원문 Example Applications: 소프트웨어 검증 대상이 되는 "애플리케이션 사례"라는 의미이지만, 본고에서는 검증 시 "모델"로 삼는 사례라는 의미에서 "모델 애플리케이션"으로 번역했습니다.

</TranslationNote>

다음은 WebDriver를 사용하여 테스트되는 애플리케이션의 최소 구성 사례를 만드는 단계별 제작 가이드입니다.

이 제작 가이드의 결과와 완성된 최소한의 코드베이스를 빠르게 확인하고 싶다면 https://github.com/chippers/hello_tauri 를 참조하십시오.

import { LinkCard, CardGrid } from '@astrojs/starlight/components';

<CardGrid>
  <LinkCard
    title="모델 애플리케이션의 기본 설정"
    href="/ko/develop/debug/tests/webdriver/example/"
  />
  <LinkCard
    title="Selenium 이용하기"
    href="/ko/develop/debug/tests/webdriver/example/selenium/"
  />
  <LinkCard
    title="WebdriverIO 이용하기"
    href="/ko/develop/debug/tests/webdriver/example/webdriverio/"
  />
</CardGrid>

## 지속적 통합(CI)

위의 사례에는 GitHub Actions를 이용한 테스트를 위한 CI 스크립트도 포함되어 있지만, 이 개념을 좀 더 자세히 설명하는 다음 "WebDriver CI 가이드"(다음 장)도 흥미로울 수 있습니다.

<LinkCard
  title="지속적 통합(CI)"
  href="/ko/develop/debug/tests/webdriver/ci/"
/>

<TranslationNote lang="ko">

**CI/CD** 소프트웨어 개발에서의 워크플로 자동화 기법. 자세한 내용은 "[GitLab](https://about.gitlab.com/ko-kr/topics/ci-cd/)"을 참조하십시오.

</TranslationNote>

[webdriver]: https://www.w3.org/TR/webdriver/
[`tauri-driver`]: https://crates.io/crates/tauri-driver
[tauri-driver]: https://crates.io/crates/tauri-driver
[Microsoft Edge WebDriver]: https://developer.microsoft.com/ko-kr/microsoft-edge/tools/webdriver/
[Appium 2]: https://appium.io/docs/ko/latest/

<div style="text-align: right">
  【※ 이 한국어판은, 「Feb 22, 2025 영문판」에 근거하고 있습니다】
</div>
