測試您的UI testing-your-ui
AEM為AEM UI提供自動化測試框架。 使用框架,您可以直接在網頁瀏覽器中編寫和執行UI測試。 此架構提供用來建立測試的JavaScript API。
AEM測試架構使用Hobbes.js,這是以JavaScript撰寫的測試程式庫。 Hobbes.js架構是作為開發流程的一部分開發用於測試AEM。 此架構現在可供公眾用來測試您的AEM應用程式。
測試結構 structure-of-tests
在AEM中使用自動化測試時,請務必瞭解下列詞語:
執行測試 executing-tests
檢視測試套裝 viewing-test-suites
開啟「測試主控台」以檢視已註冊的測試套裝。 「測試」面板包含測試套裝及其測試案例的清單。
透過 全域導覽>工具>作業>測試 來瀏覽工具主控台。
開啟主控台時,左側會列出測試套裝,並附上可依序執行所有測試套裝的選項。 右側以格線型背景顯示的空格是測試執行時顯示頁面內容的預留位置。
執行單一測試套裝 running-a-single-test-suite
測試套裝可以個別執行。 當您執行測試套裝時,頁面會隨著測試案例及其動作的執行而變更,並且會在測試完成後顯示結果。 圖示會指出結果。
核取記號圖示表示測試通過:
「X」圖示表示測試失敗:
若要執行測試套裝:
-
在「測試」面板中,按一下您要執行的測試案例名稱以展開動作的詳細資訊。
-
按一下 執行測試。
-
測試執行時,預留位置會取代為頁面內容。
-
點選或按一下說明以開啟 結果 面板,以檢閱測試案例的結果。 在 結果 面板中,點選或按一下測試案例的名稱會顯示所有詳細資料。
執行多項測試 running-multiple-tests
測試套裝會依顯示在主控台中的順序執行。 您可以深入研究測試以檢視詳細結果。
-
在[測試]面板上,按一下[執行所有測試] 按鈕或您要執行之測試套裝標題下方的[執行測試] [執行測試] 按鈕。
-
若要檢視每個測試案例的結果,請按一下測試案例的標題。 在 結果 面板中按一下測試名稱會顯示所有詳細資料。
建立和使用簡單測試套裝 creating-and-using-a-simple-test-suite
下列程式會逐步引導您使用We.Retail內容建立並執行測試套裝,但您可以輕鬆修改測試,以使用不同的網頁。
如需建立您自己的測試套裝的完整詳細資訊,請參閱Hobbes.js API檔案。
-
開啟CRXDE Lite。 (https://localhost:4502/crx/de)
-
用滑鼠右鍵按一下
/etc/clientlibs
資料夾,然後按一下 建立>建立資料夾。 輸入名稱myTests
並按一下 確定。 -
以滑鼠右鍵按一下
/etc/clientlibs/myTests
資料夾,然後按一下 建立>建立節點。 使用以下屬性值,然後按一下 確定:- 名稱:
myFirstTest
- 類型:
cq:ClientLibraryFolder
- 名稱:
-
將下列屬性新增至myFirstTest節點:
table 0-row-3 1-row-3 2-row-3 名稱 類型 值 categories
字串[] granite.testing.hobbes.tests
dependencies
字串[] granite.testing.hobbes.testrunner
note note NOTE 僅限AEM Forms 若要測試調適型表單,請將下列值新增至類別和相依性。 例如: 類別: granite.testing.hobbes.tests, granite.testing.hobbes.af.commons
相依性: granite.testing.hobbes.testrunner, granite.testing.hobbes.af
-
按一下 「儲存全部」。
-
以滑鼠右鍵按一下
myFirstTest
節點,然後按一下 建立>建立檔案。 將檔案命名為js.txt
並按一下 確定。 -
在
js.txt
檔案中,輸入下列文字:code language-none #base=. myTestSuite.js
-
按一下[儲存全部] ,然後關閉
js.txt
檔案。 -
以滑鼠右鍵按一下
myFirstTest
節點,然後按一下 建立>建立檔案。 將檔案命名為myTestSuite.js
並按一下 確定。 -
將下列程式碼複製到
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") );
-
導覽至 測試 主控台,嘗試您的測試套裝。