はじめに
前回は AngularJS チュートリアルの Step2 にあるテストを実行ました。
今回は Step3 にある、e2e テストを実行してみたいと思います。
e2e テスト実行環境について、はじめに簡単に構成を整理します。
Webdriver Manager は e2e テストで使用されるブラウザを管理します (Protractor からの指示により、Angular アプリの URL を取得して実行)。プロジェクトとは独立して動作します。
Protractor はテストコードに従い、Webdriver Manager に接続してブラウザを操作しながらテストを実行します(テストコードに従い、Webdriver Manager に指示を出しながらテストを実行)。デフォルトで Jasmine フレームワークを使う設定になっていますので、karma を使った単体テストと同様の書き方ができます。
あと、テスト対象のアプリに HTTP(S) でアクセスできるよう、Webサーバーにアップロードしたり、簡易 Web サーバーを起動したりする必要があります。本投稿では Python の SimpleHTTPServer モジュールを使用して、プロジェクトのベースディレクトリで簡易 Web サーバーを起動することにします。
3 つのコンポーネントが出てきましたが、下記のような構成を想定しています。
・CentOS 上のターミナルで常時起動しておく… Webdriver Manager、簡易 Web サーバー
・手元の開発環境から SSH 経由のターミナルなどで都度実行する … Protractor
大まかな流れは下記のとおりです。
- Webdriver Manager と Protractor のインストール
- Webdriver Manager 起動
- 簡易 Web サーバー起動
- e2e テストコード作成
- e2e テスト実行