Sauce Labs を活用したブラウザーのテスト
何百ものモバイルやデスクトップのブラウザー上での動作をテストできます。
Selenium WebDriver
Sauce Labs では、広く採用されているブラウザーのドライバー標準「Selenium WebDriver」を使用した自動ブラウザー テストをサポートしています。Selenium WebDriver で提供される共通 API を使用すれば、Java、Python、Ruby といった複数の一般的な言語で実装したプログラムによってブラウザーを操作できます。WebDriver の動作モードには、ローカルとリモートの 2 種類があります。テストをローカルで実行する場合には、Selenium WebDriver ライブラリを使用して、同じマシン上のブラウザーを直接操作します。テストをリモート モードで実行する場合には、Selenium Server と通信し、サーバーからブラウザーを操作します。Sauce Labs では基本的に Selenium Server がサービスとして提供され、各種ブラウザーのテストに利用できます。さらに、すべてのテスト実行を録画できる機能なども提供されています。
必要なすべてのブラウザーとプラットフォームに対応
Sauce Labs では、多種多様なブラウザーとオペレーティング システムが提供されます。ブラウザーは Firefox、Chrome、Safari、Internet Explorer、オペレーティング システムは OS X、Windows、Linux の組み合わせを選択できます。また、モバイル版の Safari および Android ブラウザーでもテストを実行できます。そのため、重要な機能がモバイル デバイスで動作することや IE の古いバージョンをサポートすることを確認する場合など、状況に応じて必要なブラウザーを自由に選択することが可能です。Selenium WebDriver では、あらゆるブラウザーを操作できる統合インターフェイスが提供されるため、ブラウザー テストを一度作成すれば、さまざまなブラウザーとプラットフォームで何度でも実行できます。
継続的なテストが可能
CircleCI を利用すると、コードをコミットするたびに、選択したブラウザーでのテストがすべて自動的に実行されます。ブラウザーベースのテストは、変更を加えるたびに実行したり、毎回のデプロイの前に実行したり、特定のブランチで実行したりするように構成できます。CircleCI と Sauce Labs の継続的インテグレーション (CI) & デリバリー (CD) ワークフローにより、アプリの重要な機能に影響するようなブラウザー固有のバグが本番環境に混入してしまう心配はなくなります。
パブリック テスト サーバーは不要
Sauce Labs では、CircleCI のビルド コンテナとは別のネットワーク上でブラウザーを操作しますが、ブラウザーがテストする Web アプリケーションにアクセスできる必要があります。そのためには、CircleCI のビルド中にサーバーを実行し、Sauce Connect を使用して Sauce Labs のブラウザーと CircleCI のビルド コンテナの間にセキュア トンネルをセットアップする方法が最も簡単です。