AEM 6.5以降では、hobbes.js UIテストフレームワークは非推奨です。 Adobeでは、Seleniumの機能をさらに強化する予定はありません。Seleniumの自動化をお勧めします。
非推奨機能と削除された機能を参照してください。
AEM には、AEM UI のテストを自動化するためのフレームワークが用意されています。このフレームワークを使用して、Web ブラウザーで直接 UI テストを記述して実行します。フレームワークは、テストを作成するためのJavaScript APIを提供します。
AEMのテストフレームワークは、JavaScriptで記述されたテストライブラリであるHobbes.jsを使用します。 Hobbes.js フレームワークは、開発プロセスの一環として AEM のテスト用に開発されたものです。このフレームワークは現在、独自の AEM アプリケーションのテスト用に一般に利用できます。
APIの詳細については、Hobbes.js ドキュメントを参照してください。
自動化されたテストを AEM 内で使用する場合は、以下の用語を理解しておくことが重要です。
アクション | アクションは、リンクやボタンのクリックなど、Webページ上の特定のアクティビティです。 |
---|---|
テストケース | テストケースは、1つ以上のアクションで構成できる特定の状況です。 |
テストスイート | テストスイートは、関連するテストケースのグループで、これらを組み合わせて特定の使用例をテストします。 |
テストコンソールを開くと、登録されているテストスイートが表示されます。テストパネルには、テストスイートとそのテストケースのリストが表示されます。
ツールコンソールに移動するには、グローバルナビゲーション/ツール/運営/テストの順に移動します。
コンソールを開くと、左側には、テストスイートのリストと共に、すべてのテストスイートを順番に実行するためのオプションが表示されます。右側に表示される背景が格子柄のスペースは、テストの実行時にページコンテンツを表示するためのプレースホルダーです。
テストスイートは個別に実行できます。1 つのテストスイートを実行すると、テストケースとそのアクションの実行に応じてページが変化し、テストの完了後に結果が表示されます。アイコンによって結果が示されます。
チェックマークアイコンは、成功したテストを示します。
「X」アイコンは、失敗したテストを示します。
1 つのテストスイートを実行するには:
テストパネルで、実行するテストケースの名前をクリックまたはタップして、アクションの詳細を展開します。
「Run tests」ボタンをクリックまたはタップします。
テストが実行されると、プレースホルダーはページコンテンツに置き換えられます。
説明をタップまたはクリックして結果パネルを開いて、テストケースの結果を確認します。結果パネルでテストケースの名前をタップまたはクリックすると、すべての詳細が表示されます。
テストスイートは、コンソールに表示された順番で実行されます。テストをドリルダウンして、詳細な結果を確認できます。
テストパネルで、実行するテストスイートのタイトルの下にある「Run all tests」ボタンまたは「Run tests」ボタンをタップまたはクリックします。
各テストケースの結果を表示するには、そのテストケースのタイトルをタップまたはクリックします。結果パネルでテスト名をタップまたはクリックすると、すべての詳細が表示されます。
次の手順では、Web.Retailコンテンツを使用してTest Suiteを作成および実行する手順を示しますが、テストを簡単に変更して別のWebページを使用することができます。
独自のテストスイートの作成について詳しくは、Hobbes.js API のドキュメントを参照してください。
CRXDE Lite を開きます。(https://localhost:4502/crx/de)
/etc/clientlibs
フォルダーを右クリックし、作成/フォルダーを作成をクリックします。 名前にmyTests
と入力して、「OK」をクリックします。
/etc/clientlibs/myTests
フォルダーを右クリックし、作成/ノードを作成をクリックします。 以下のプロパティ値を使用して「OK」をクリックします。
myFirstTest
cq:ClientLibraryFolder
myFirstTest ノードに次のプロパティを追加します。
名前 | タイプ | 値 |
---|---|---|
categories |
String[] | granite.testing.hobbes.tests |
dependencies |
文字列[] | granite.testing.hobbes.testrunner |
AEM Forms のみ
アダプティブフォームをテストするには、categories と dependencies に次の値を追加してください。次に例を示します。
カテゴリ: granite.testing.hobbes.tests, granite.testing.hobbes.af.commons
依存関係: granite.testing.hobbes.testrunner, granite.testing.hobbes.af
「すべて保存」をクリックします。
myFirstTest
ノードを右クリックして、作成/ファイルを作成をクリックします。ファイル名にjs.txt
と入力して、「OK」をクリックします。
js.txt
ファイルに次のテキストを入力します。
#base=.
myTestSuite.js
「すべて保存」をクリックして、js.txt
ファイルを閉じます。
myFirstTest
ノードを右クリックして、作成/ファイルを作成をクリックします。ファイル名にmyTestSuite.js
と入力して、「OK」をクリックします。
myTestSuite.js
ファイルに次のコードをコピーして、ファイルを保存します。
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")
);
テストコンソールに移動して、テストスイートを実行します。