UI のテスト testing-your-ui
AEMは、AEM UI のテストを自動化するためのフレームワークを提供します。 このフレームワークを使用して、Web ブラウザーで直接 UI テストを記述して実行します。このフレームワークには、テストを作成するための JavaScript API が用意されています。
AEM テストフレームワークでは、Javascript で記述されたテスト用ライブラリ Hobbes.js を使用します。Hobbes.js フレームワークは、開発プロセスの一環として AEM のテスト用に開発されたものです。このフレームワークは現在、独自の AEM アプリケーションのテスト用に一般に利用できます。
テストの構造 structure-of-tests
AEM内で自動テストを使用する場合、次の用語を理解することが重要です。
テストの実行 executing-tests
テストスイートの表示 viewing-test-suites
テストコンソールを開いて、登録されているテストスイートを確認します。 テストパネルには、テストスイートとそのテストケースのリストが表示されます。
からツールコンソールに移動します。 グローバルナビゲーション/ツール/操作/テスト.
コンソールを開くと、テストスイートが左側に表示され、すべてを順番に実行するオプションも表示されます。 右側のスペースには、背景がチェックマーク付きで表示され、テストの実行時にページのコンテンツを表示するためのプレースホルダーです。
単一のテストスイートの実行 running-a-single-test-suite
テストスイートは個別に実行できます。 テストスイートを実行すると、テストケースとそのアクションが実行され、テストの完了後に結果が表示されるにつれ、ページは変化します。 アイコンは結果を示します。
チェックマークアイコンは、合格したテストを示します。
「X」アイコンは、失敗したテストを示します。
テストスイートを実行するには:
-
テストパネルで、実行するテストケースの名前をクリックまたはタップして、アクションの詳細を展開します。
-
クリックまたはタップ テストを実行 」ボタンをクリックします。
-
テストが実行されると、プレースホルダーはページコンテンツに置き換えられます。
-
説明をタップまたはクリックしてテストケースの結果を確認し、 結果 パネル。 「 結果 パネルには、すべての詳細が表示されます。
複数のテストの実行 running-multiple-tests
テストスイートは、コンソールに表示される順序で順番に実行されます。 テストの詳細を調べて、結果を確認できます。
-
テストパネルで、実行するテストスイートのタイトルの下にある「Run all tests」ボタンまたは「Run tests」ボタンをタップまたはクリックします。
-
各テストケースの結果を表示するには、そのテストケースのタイトルをタップまたはクリックします。結果 パネルでテストの名前をタップまたはクリックすると、すべての詳細が表示されます。
シンプルなテストスイートの作成と使用 creating-and-using-a-simple-test-suite
次の手順は、We.Retail のコンテンツを使用したテストスイートの作成と実行の方法を説明するものですが、別の web ページを使用するよう簡単にテストを変更できます。
独自のテストスイートの作成について詳しくは、Hobbes.js API のドキュメントを参照してください。
-
CRXDE Lite を開きます。(http://localhost:4502/crx/de)
-
/etc/clientlibs
フォルダーを右クリックして、作成/フォルダーを作成 をクリックしてください。名前にmyTests
と入力して、「OK」をクリックします。 -
/etc/clientlibs/myTests
フォルダーを右クリックし、作成/ノードを作成 をクリックしてください。以下のプロパティ値を使用して「OK」をクリックします。- 名前:
myFirstTest
- 型:
cq:ClientLibraryFolder
- 名前:
-
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 NOTE AEM Formsのみ アダプティブフォームをテストするには、カテゴリと依存関係に次の値を追加します。 次に例を示します。 categories: granite.testing.hobbes.tests, granite.testing.hobbes.af.commons
dependencies: granite.testing.hobbes.testrunner, granite.testing.hobbes.af
-
「すべて保存」をクリックします。
-
myFirstTest
ノードを右クリックして、作成/ファイルを作成 をクリックします。ファイル名にjs.txt
と入力して、「OK」をクリックします。 -
js.txt
ファイルに次のテキストを入力します。code language-none #base=. myTestSuite.js
-
「すべて保存」をクリックして、
js.txt
ファイルを閉じます。 -
myFirstTest
ノードを右クリックして、作成/ファイルを作成 をクリックします。ファイル名にmyTestSuite.js
と入力して、「OK」をクリックします。 -
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") );
-
テスト コンソールに移動して、テストスイートを実行します。