> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bricks.tools/llms.txt
> Use this file to discover all available pages before exploring further.

# 自動化

> デバイスで E2E 自動化テストを実行する

自動化は [BRICKS Foundation](/ja/foundation) を通じてデバイス上で直接実行されるエンドツーエンドテストです。ユーザーインタラクションのシミュレーション、アプリケーションの動作の検証、ビジュアルリグレッションテストの実行に活用できます。

## 自動化のタイプ

BRICKS は 3 種類の自動化をサポートしています：

| タイプ         | 説明                           |
| ----------- | ---------------------------- |
| **Launch**  | デバイスでアプリケーションが起動するときに自動実行される |
| **Anytime** | CLI 経由でいつでも手動でトリガーできる        |
| **Cron**    | 指定した間隔でスケジュール実行される           |

### バインド時の起動自動化

[アプリケーションをデバイスにバインドする](/ja/controller/applications#binding-applications-to-devices)際に、アプリケーションが起動するたびに自動実行される **Launch** タイプの自動化を選択できます。セルフチェックルーティン、データ初期化、または起動のたびに実行すべき自動化セットアップに役立ちます。

## 自動化パネルを開く

* **デバイスから** — システムメニューを開き、**自動化**をタップする
* **BRICKS CLI から** — デバイスグループにアクションを送信する：

```bash theme={null}
bricks group dispatch <group-id> test-panel-open
```

## CLI から自動化を実行する

[BRICKS CLI](/ja/cli) を使ってプログラムで自動化をトリガーします：

```bash theme={null}
# 自動化を開始する
bricks app trigger <app-id> <test-id> --play

# 実行中の自動化を停止する
bricks app trigger <app-id> <test-id> --stop

# 起動時に実行する自動化をセットアップする
bricks app trigger <app-id> <test-id> --setup-at-launch

# 特定のデバイスグループをターゲットにする
bricks app trigger <app-id> <test-id> --play -g <group-id>
```

## シミュレーションアクション

自動化はデバイス上のユーザーインタラクションをシミュレートできます：

* **Brick プレス** — Brick のタップをシミュレートする
* **キーイベント** — キーボード入力をシミュレートする
* **HTTP リクエスト** — リクエストを送信してレスポンスを検証する

## アサーション

自動化はアプリケーション状態の検証のために 6 種類以上のアサーションタイプを含みます：

* データ値が期待結果と一致することを確認する
* Generator の出力を確認する
* Canvas の状態を検証する
* **ビジュアルリグレッション** — スクリーンショットをキャプチャしてベースライン画像と比較する

## コードで自動化を定義する

[bricks-ctor](/ja/ctor-pkg) を使用する場合、自動化はプロジェクトの `automation-tests/` ディレクトリに定義します：

```
my-app/
├── automation-tests/    # E2E テスト定義
├── app.ts
├── subspaces/
└── ...
```

自動化タイプ、シミュレーションアクション、アサーションパターンの詳細リファレンスは [bricks-ctor 組み込みスキル](/ja/ctor-pkg/skills)をご覧ください。

## 次のステップ

<CardGroup cols={2}>
  <Card title="デバッグパネル" icon="bug" href="/ja/foundation/debug-panel">
    デバイス上のランタイム状態を検査します。
  </Card>

  <Card title="アプリケーション管理" icon="grid-2" href="/ja/controller/applications">
    アプリケーションのバージョンとデプロイを管理します。
  </Card>
</CardGroup>
