Deep-dive on the Next Gen Platform. Join the Webinar!

Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
Hide categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Troubleshooting Node.js Apps
      • Node.js Behavior in Heroku
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • 継続的デリバリーとインテグレーション
  • 継続的統合
  • 'Heroku CI: ブラウザおよびユーザー承認テスト (UAT)'

'Heroku CI: ブラウザおよびユーザー承認テスト (UAT)'

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2024年02月21日(水)

Table of Contents

  • ブラウザテスト/UAT について
  • 使用可能なブラウザ
  • Selenium によるテスト

Heroku CI の UAT/ブラウザテストはベータ機能​です。

ブラウザのサポートは (機能を強化するための) 未発表の変更に従うものとし、UAT に対するサポートはベストエフォートの応答に制限されています。

ブラウザテスト/UAT について

Heroku CI は、テスト実行の dyno でブラウザをインストールするオプションを用意することによって、ブラウザテストまたは “ユーザー承認テスト” (UAT) に対するサポートを提供します。ユーザーは、--headless​ フラグでサポートされる Google Chrome の安定、ベータ、および不安定リリースチャネルのいずれかを選択できます。

ブラウザをインストールするためのオプションは用意されていますが、そのブラウザの起動は開発者の責任であることに注意する必要があります。各言語、Web フレームワーク、あるいはテストフレームワークには、ブラウザでテストを起動して実行する方法に関する独自の対処法がある傾向にあります (最も一般的には、これは Selenium で実行される)。これらのソリューションのほとんどは Heroku CI でサポートできます。以下では、すでにテストされ、実証されている UAT の技術スタックと設定を追加します。

使用可能なブラウザ

さまざまなニーズに対応できるブラウザをいくつか提供していますが、まず --headless​ がサポートされている Google Chrome を検討することを強くお勧めします。これは安定しており、かつユーザーのブラウザとの強い同等性があり、この種類のテストを可能にするように設計されています。

Google Chrome

Google の開発者は、バージョン調整された Chromedriver​ (Selenium WebDriver アダプター) のような自動ブラウザテストをサポートするために、ブラウザの特別リリース版である Chrome for Testing​ を公開しています。

Google Chrome は、--headless​ のコマンドラインオプションをサポートしています。これはユーザーのブラウザを使用するため UAT に最適で、コンテンツを画面にレンダリングするサイクルを浪費しません。

Heroku CI の実行のために Google Chrome を使用するには、その buildpack heroku-community/chrome-for-testing​ を app.json​ の environments.test.buildpacks​ セクションに追加します。たとえば、Node.js テストに Chrome を使用している場合は、次のようにします。

{
  "environments": {
    "test": {
      "buildpacks": [
        { "url": "heroku-community/chrome-for-testing" },
        { "url": "heroku/nodejs" }
      ]
    }
  }
}

今後、chrome​ と chromedriver​ (デフォルトで安定リリースチャネルから) がテスト実行で利用できるようになります。詳細は、buildpack のドキュメント​を参照してください。

PhantomJS

PhantomJS は、NodeJS 上に構築されたヘッドレスブラウザです。コンパクトで、かつ Chrome よりインストールが簡単なため、長い間 UAT のための一般的な選択肢になっていました。PhantomJS を使用するように Heroku CI の実行を設定することは可能ですが、1) これがサードパーティの buildpack を使用してインストールされること、2) PhantomJS が保守されなくなったことの 2 つの理由から、現在は直接のサポートを提供していません。

Heroku CI の実行のために PhantomJS を使用するには、その buildpack を app.json の environments.test.buildpacks​ セクションに追加します。たとえば、Ruby のテストに PhantomJS を使用している場合は、次のようにします。

{
  "environments": {
    "test": {
      "buildpacks": [
        { "url": "heroku/ruby" },
        { "url": "https://github.com/stomita/heroku-buildpack-phantomjs" }
      ]
    }
  }
}

NodeJS を使用している場合は、代わりに phantomjs-prebuilt​ の使用を検討することもできます。

Selenium によるテスト

Heroku CI は、上記の Chrome for Testing buildpack​ 経由で、Selenium を使用したアプリのテストをサポートしています。Heroku CI で Selenium を実行するには、次のものが必要になります。

  1. Chromedriver​ - Chrome for Testing buildpack​ によってインストールされます
  2. Selenium への言語バインディング​ - WebDriver アダプター。アプリに必要な言語に応じて選択します。
  3. アプリのテストコード内の Selenium ドライバーオプション - Selenium のドキュメント​と言語固有のドライバードキュメントを参照してください。

関連カテゴリー

  • 継続的統合

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices