継続的インテグレーション(CI)
import TranslationNote from ‘@components/i18n/TranslationNote.astro’;
Linux といくつかのプログラムを利用して仮のディスプレイを作成すると、CI (継続的インテグレーション・テストツール)上で tauri-driver
を使用して WebDriver テストの実行が可能になります。
以下では、WebdriverIO による予め作成したテスト事例と GitHub Actions を使用しています。
これには次の二点が前提になっています:
- Tauri アプリケーションはリポジトリのルートにあり、
cargo build --release
を実行するとバイナリがビルドされる - 「WebDriverIO テスト・ランナー」は
webdriver/webdriverio
ディレクトリにあり、そのディレクトリでyarn test
が使用されると実行される
以下は .github/workflows/webdriver.yml
にあるコメント付きの GitHub Actions ワークフロー・ファイルです。
# リポジトリがプッシュされたときにこのアクションを実行on: [push]
# ワークフローの名前name: WebDriver
jobs: # test という名前の単一ジョブ test: # test ジョブの表示名 name: WebDriverIO Test Runner
# 最新の Linux 環境を指定(we want to run on) runs-on: ubuntu-22.04
# ジョブが**順番に**実行する手順 steps: # 「ワークフロー・ランナー」のコードをチェックアウト(確認) - uses: actions/checkout@v4
# Tauri が Linux 上でコンパイルするために必要なシステム依存関係をインストール # `tauri-driver` を実行するための追加の依存関係 (`webkit2gtk-driver` と `xvfb`)に注意 - name: Tauri dependencies run: | sudo apt update && sudo apt install -y \ libwebkit2gtk-4.1-dev \ build-essential \ curl \ wget \ file \ libxdo-dev \ libssl-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ webkit2gtk-driver \ xvfb
- name: Setup rust-toolchain stable id: rust-toolchain uses: dtolnay/rust-toolchain@stable
# 破損しているアプリケーションのテストを避けるために、WebDriver テストの前に Rust テストを実行 - name: Cargo test run: cargo test
# WebdriverIO テスト中に使用されるアプリケーションのリリースビルドを実行 - name: Cargo build run: cargo build --release
# 最新安定版 node バージョンをインストール(執筆時点) - name: Node 20 uses: actions/setup-node@v4 with: node-version: 20 cache: 'yarn'
# Yarn を使って Node.js の依存関係をインストール - name: Yarn install run: yarn install --frozen-lockfile working-directory: webdriver/webdriverio
# `tauri-driver` の最新バージョンをインストール # 注意: tauri-driver のバージョンは他の Tauri のバージョン番号とは無関係です - name: Install tauri-driver run: cargo install tauri-driver --locked
# WebdriverIO テスト・スイートを実行 # `xvfb-run`(先ほどインストールした依存関係)を実行して、仮のディスプレイ・サーバーを作成し、コードを変更せずにアプリケーションをヘッドレス(無人)で実行できるようにします - name: WebdriverIO run: xvfb-run yarn test working-directory: webdriver/webdriverio
【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】
© 2025 Tauri Contributors. CC-BY / MIT