UI のテスト testing-your-ui

NOTE
AEM 6.5 以降、hobbes.js UI テストフレームワークは非推奨となります。 アドビははそれ以上の機能拡張を行う予定はなく、Selenium 自動化を使用することをお客様に推奨しています。
廃止される機能および削除された機能を参照してください。

AEM には、AEM UI のテストを自動化するためのフレームワークが用意されています。 このフレームワークを使用して、Web ブラウザーで直接 UI テストを記述して実行します。 このフレームワークには、テストを作成するための JavaScript API が用意されています。

AEM テストフレームワークでは、Javascript で記述されたテスト用ライブラリ、Hobbes.js を使用します。 Hobbes.js フレームワークは、開発プロセスの一環として AEM のテスト用に開発されたものです。 このフレームワークは現在、独自の AEM アプリケーションのテスト用に一般に利用できます。

NOTE
この API について詳しくは、Hobbes.js のドキュメントを参照してください。

テストの構造 structure-of-tests

AEM 内で自動化されたテストを使用する場合は、次の用語を理解しておくことが重要です。

動作
アクション​は、リンクやボタンのクリックなど、web ページ上の特定のアクティビティです。
テストケース
テストケース​は、1 つ以上の​ アクション ​で構成できる特定の状況です。
テストスイート
テストスイート​は、関連する​ テストケース ​を組み合わせて、特定のユースケースをテストします。

テストの実行 executing-tests

テストスイートの表示 viewing-test-suites

テストコンソールを開くと、登録されているテストスイートが表示されます。 テストパネルには、テストスイートとそのテストケースのリストが表示されます。

ツールコンソールに移動するには、グローバルナビゲーション/ツール/操作/テスト​の順に移動します。

chlimage1-63

コンソールを開くと、テストスイートが左側に一覧表示され、すべてを順番に実行するオプションも表示されます。 右側に表示される背景が格子柄のスペースは、テストの実行時にページコンテンツを表示するためのプレースホルダーです。

chlimage1-64

単一のテストスイートの実行 running-a-single-test-suite

テストスイートは個別に実行できます。 テストスイートを実行すると、テストケースとその関連アクションが実行されるにつれてページが変わり、テストの完了後に結果が表示されます。 結果はアイコンで表示されます。

チェックマークアイコンは、成功したテストを示します。

チェックマークアイコン。

「X」アイコンは、失敗したテストを示します。

円の中に X が表示された、テストの失敗を示すアイコン。

テストスイートを実行するには:

  1. テストパネルで、実行するテストケースの名前をクリックして、アクションの詳細を展開します。

    chlimage1-65

  2. 「テストを実行」をクリックします。

    「テストを実行」ボタンの画像。円の中に右向きのポインターが表示されています。

  3. テストが実行されると、プレースホルダーはページコンテンツに置き換えられます。

    chlimage1-66

  4. 「説明」をタップまたはクリックして​ 結果 ​パネルを開き、テストケースの結果を確認します。 結果​パネルでテストケースの名前をタップまたはクリックすると、すべての詳細が表示されます。

    chlimage1-67

複数のテストの実行 running-multiple-tests

テストスイートは、コンソールに表示された順序で実行されます。 テストをドリルダウンして、詳細な結果を確認できます。

chlimage1-68

  1. テストパネルで、実行するテストスイートのタイトルの下にある「Run all tests」ボタンまたは「Run tests」ボタンをクリックします。

    円内の右向きのポインターで示される、「テストをすべて実行」ボタンと「テストを実行」ボタンの画像。

  2. 各テストケースの結果を表示するには、そのテストケースのタイトルをクリックします。 結果​パネルでテストの名前をクリックすると、すべての詳細が表示されます。

    chlimage1-69

シンプルなテストスイートの作成と使用 creating-and-using-a-simple-test-suite

次の手順は、We.Retail のコンテンツを使用したテストスイートの作成と実行の方法を説明するものですが、別の web ページを使用するよう簡単にテストを変更できます。

独自のテストスイートの作成について詳しくは、Hobbes.js API のドキュメントを参照してください。

  1. CRXDE Lite を開きます。 (https://localhost:4502/crx/de)

  2. /etc/clientlibs フォルダーを右クリックして、作成/フォルダーを作成​をクリックしてください。 名前にmyTestsと入力して、「OK」をクリックします。

  3. /etc/clientlibs/myTests フォルダーを右クリックし、作成/ノードを作成​をクリックしてください。 以下のプロパティ値を使用して「OK」をクリックします。

    • 名前:myFirstTest
    • 型:cq:ClientLibraryFolder
  4. myFirstTest ノードに次のプロパティを追加します。

    table 0-row-3 1-row-3 2-row-3
    名前 種類 値
    categories String[] granite.testing.hobbes.tests
    dependencies String[] granite.testing.hobbes.testrunner
    note
    NOTE
    AEM Forms のみ
    アダプティブフォームをテストするには、カテゴリと依存関係に次の値を追加します。 次に例を示します。
    categories:granite.testing.hobbes.tests, granite.testing.hobbes.af.commons
    dependencies:granite.testing.hobbes.testrunner, granite.testing.hobbes.af
  5. 「すべて保存」をクリックします。

  6. myFirstTest ノードを右クリックして、作成/ファイルを作成​をクリックします。 ファイル名にjs.txtと入力して、「OK」をクリックします。

  7. js.txt ファイルに次のテキストを入力します。

    code language-none
    #base=.
    myTestSuite.js
    
  8. 「すべて保存」をクリックして、js.txt ファイルを閉じます。

  9. myFirstTest ノードを右クリックして、作成/ファイルを作成​をクリックします。 ファイル名にmyTestSuite.jsと入力して、「OK」をクリックします。

  10. myTestSuite.js ファイルに次のコードをコピーして、ファイルを保存します。

    code language-none
    new hobs.TestSuite("Experience Content Test Suite", {path:"/etc/clientlibs/myTests/myFirstTest/myTestSuite.js"})
       .addTestCase(new hobs.TestCase("Navigate to Experience Content")
          .navigateTo("/content/we-retail/us/en/experience/arctic-surfing-in-lofoten.html")
       )
       .addTestCase(new hobs.TestCase("Hover Over Topnav")
          .mouseover("li.visible-xs")
       )
       .addTestCase(new hobs.TestCase("Click Topnav Link")
          .click("li.active a")
    );
    
  11. テスト​コンソールに移動して、テストスイートを実行します。

recommendation-more-help
experience-manager-65-help-main-toc