Cursor Background Agentsのコンテナ環境下でGUIアプリケーションの動作能力を検証する
2024年7月24日
- OS: Ubuntu 25.04 (Linux 6.12.8+)
- 環境: CursorBackground コンテナ環境
- Node.js: v22.15.0
- Python: 3.13.3
- DISPLAY: :99 (システムにより事前設定済み)
- Docker CE 28.3.2をインストール
- Nginxコンテナでテストページをlocalhost:80で配信
- Playwright (最新版)をNode.js環境にインストール
// テストコード: test-localhost.js
const { chromium } = require('playwright');
// localhost:80へのアクセス、要素取得、スクリーンショット取得
結果: ✅ 成功
- ページアクセス: 正常(約500ms)
- DOM要素取得: 成功
- スクリーンショット: 保存成功
- ネットワークリクエスト/レスポンス監視
- アクセシビリティチェック
- パフォーマンス計測
- 複数解像度でのスクリーンショット(1920x1080、768x1024、375x667)
- PDFエクスポート
結果: ✅ すべて成功
- 症状: 日本語文字が□□□(豆腐)として表示
- 原因: ヘッドレス環境に日本語フォントが未インストール
sudo apt-get install -y fonts-noto-cjk fonts-ipafont-gothic fonts-ipafont-mincho
fc-cache -fv
項目 | インストール前 | インストール後 |
---|---|---|
日本語表示 | 文字化け | 正常表示 |
PDFファイルサイズ | 12KB | 30KB |
フォント埋め込み | なし | あり |
アプリケーション | モード | DISPLAY環境変数 | xvfb-runなし | xvfb-runあり |
---|---|---|---|---|
Playwright | headless | あり | ✅ | ✅ |
Playwright | headless | なし | ✅ | ✅ |
Playwright | headful | あり | ✅ | ✅ |
Playwright | headful | なし | ❌ | ✅ |
Electron | - | あり | ✅ | ✅ |
Electron | - | なし | ❌ | ✅ |
- Playwrightのheadlessモード: Xサーバー不要(内部レンダリング)
- Playwrightのheadfulモード: Xサーバー必須(親切なエラーメッセージ)
- Electron: 常にXサーバーが必要(なければクラッシュ)
- DISPLAY=:99が事前設定済み
- 仮想Xサーバーが既に動作中
- xvfb-runが多くの場合不要
# Electronでよく見られるエラー(無害)
[ERROR:dbus/bus.cc:408] Failed to connect to the bus
[ERROR:ui/gl/angle_platform_impl.cc:49] GLX is not present
# Playwrightの親切なエラー
Looks like you launched a headed browser without having a XServer running.
Set either 'headless: true' or use 'xvfb-run <your-playwright-app>'
-
ヘッドレスブラウザ自動化: ⭐⭐⭐⭐⭐ 完璧
- Playwright/Puppeteerは問題なく動作
- 日本語フォント追加で完全対応
-
Electronアプリケーション: ⭐⭐⭐⭐ 良好
- 基本的に動作するが、警告メッセージあり
- xvfb-runの使用で安定動作
-
GUIデバッグ機能: ⭐⭐⭐⭐ 良好
- headfulモードも使用可能
- 既存のXサーバーで十分
# Playwrightのheadlessテスト(推奨)
node playwright-test.js
# Electronアプリケーション
xvfb-run -a electron-app
# 日本語対応は必須
apt-get install -y fonts-noto-cjk
# 念のためxvfb-runを使用
xvfb-run -a npm test
# 画面録画が必要な場合
xvfb-run -a -s "-screen 0 1920x1080x24" npm run e2e:record
- DBusサービスが利用不可(システム通知など)
- GPUアクセラレーションは制限的
- 音声出力は不可
CursorBackground環境は、GUIアプリケーションの実行に十分な能力を持っています。特に:
- ✅ E2Eテスト自動化に最適
- ✅ ヘッドレスブラウザテストは完璧に動作
- ✅ Electronアプリ開発も可能
- ✅ 日本語環境も適切に構築可能
この環境は、モダンなWeb開発におけるGUIテストのニーズを十分に満たしており、実用的な開発環境として活用できることが確認されました。