> ## 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.

# 自動化

> 在裝置上執行端對端自動化測試

自動化是透過 [BRICKS Foundation](/zh-Hant/foundation) 直接在裝置上執行的端對端測試。使用它來模擬使用者互動、驗證應用程式行為，並執行視覺回歸測試。

## 自動化類型

BRICKS 支援三種類型的自動化：

| 類型          | 說明               |
| ----------- | ---------------- |
| **Launch**  | 當應用程式在裝置上啟動時自動執行 |
| **Anytime** | 可隨時透過 CLI 手動觸發   |
| **Cron**    | 依指定間隔按排程執行       |

### 綁定時的啟動自動化

當您[將應用程式綁定至裝置](/zh-Hant/controller/applications#binding-applications-to-devices)時，可以選取 **Launch** 類型的自動化，使其在每次應用程式啟動時自動執行。這對於自我檢查程序、資料初始化或每次啟動時都應執行的自動化設定非常有用。

## 開啟自動化面板

* **從裝置** —開啟系統選單並點擊**自動化**
* **從 BRICKS CLI** —將動作傳送至裝置群組：

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

## 從 CLI 執行自動化

使用 [BRICKS CLI](/zh-Hant/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](/zh-Hant/ctor-pkg) 時，自動化定義在專案的 `automation-tests/` 目錄中：

```
my-app/
├── automation-tests/    # E2E 測試定義
├── app.ts
├── subspaces/
└── ...
```

有關自動化類型、模擬動作和斷言模式的詳細參考，請參閱 [bricks-ctor 內建技能](/zh-Hant/ctor-pkg/skills)。

## 下一步

<CardGroup cols={2}>
  <Card title="除錯面板" icon="bug" href="/zh-Hant/foundation/debug-panel">
    在裝置上檢查運行時狀態。
  </Card>

  <Card title="應用程式管理" icon="grid-2" href="/zh-Hant/controller/applications">
    管理應用程式版本和部署。
  </Card>
</CardGroup>
