使用自動測試AEM與自適應Forms

Calvin SDK自動測試自適應Forms

Calvin SDK是一個公用API,可供Adaptive Forms開發人員用來測試AdaptiveForms。 Calvin SDK建立在Hobbes.js測試架構之上。 Calvin SDK目前提供AEM Forms6.3版以上版本。

在本教學課程中,您將建立下列內容:

  • 測試套件
  • 測試套件將包含一或多個測試案例
  • 測試案例將包含一或多個動作

開始使用

使用Package Manager下載和安裝資產此套件包含範例指令碼和數種Adaptive Forms。這些Adaptive Forms是使用AEM Forms6.3版構建的。如果您要在AEM Forms6.4或更新版本上測試此功能,建議您建立針對您的AEM Forms版本的新表格。 範例指令碼展示多種Calvin SDK API,可用來測試AdaptiveForms。 測試最適化Forms的一AEM般步驟包括:

  • 導覽至需要測試的表單
  • 設定欄位的值
  • 提交最適化表單
  • 檢查錯誤消息

套件中的範例指令碼會示範上述所有動作。
讓我們來探索mortgageForm.js的程式碼

var mortgageFormTS = new hobs.TestSuite("Mortgage Form Test", {
        path: '/etc/clientlibs/testingAFUsingCalvinSDK/mortgageForm.js',
        register: true
})

上述程式碼會建立新的測試套裝。

  • 在本例中,TestSuite的名稱為「 Mortgage Form Test 」。
  • 提供包含測試套AEM裝之js檔案的絕對路徑。
  • 設為' true '時的註冊參數,會讓測試UI中的測試套裝可供使用。
.addTestCase(new hobs.TestCase("Calculate amount to borrow")
        // navigate to the mortgage form  which is to be tested
        .navigateTo("/content/forms/af/cal/mortgageform.html?wcmmode=disabled")
  .asserts.isTrue(function () {
            return calvin.isFormLoaded()
        })
注意

如果您要在AEM Forms6.4或更高版本上測試此功能,請建立新的最適化表單,並使用它進行測試。不建議使用隨軟體包提供的最適化表單。

測試案例可新增至測試套裝,以針對最適化表單執行。

  • 若要新增測試套裝的測試案例,請使用TestSuite物件的addTestCase方法。
  • addTestCase方法將TestCase對象作為參數。
  • 若要建立TestCase,請使用hobs.TestCase(..)方法。
  • 注意:第一個參數是UI中將會出現的測試案例名稱。
  • 建立測試案例後,您就可以將動作新增至測試案例。
  • 包括navigateToasserts.isTrue的動作可新增為測試案例的動作。

運行自動測試

Openthetestsuite展開測試套裝並執行測試。如果一切順利執行,您會看到下列輸出。

calvinsdk

試用範例測試套裝

作為範例套件的一部分,另外有三個測試套件。 您可以在clientlibrary的js.txt檔案中加入適當的檔案,如下所示,以試用這些檔案:

#base=.

scriptingTest.js
validationTest.js
prefillTest.js
mortgageForm.js

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now