将自动测试与AEM自适应Forms结合使用 using-automated-tests-with-aem-adaptive-forms

使用Calvin SDK自动测试自适应Forms

Calvin SDK是一个实用程序API,供Adaptive Forms开发人员测试Adaptive Forms。 Calvin SDK构建于 Hobbes.js测试框架. Calvin SDK从AEM Forms 6.3开始提供。

在本教程中,您将创建以下内容:

  • 测试套件
  • 测试包将包含一个或多个测试用例
  • 测试用例将包含一个或多个操作

快速入门 getting-started

使用包管理器下载并安装资源该包中包含示例脚本和多个自适应Forms。这些自适应Forms是使用AEM Forms 6.3版本构建的。 如果您要在AEM Forms 6.4或更高版本上测试新表单,则建议创建特定于您的AEM Forms版本的新表单。 示例脚本演示了可用于测试自适应Forms的各种Calvin SDK API。 测试AEM自适应Forms的常规步骤包括:

  • 导航到需要测试的表单
  • 设置字段的值
  • 提交自适应表单
  • 检查错误消息

该包中的示例脚本演示了上述所有操作。
让我们来探索的代码 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()
        })
NOTE
如果您在AEM Forms 6.4或更高版本上测试此功能,请创建一个新的自适应表单并使用它进行测试。不建议使用随包提供的自适应表单。

可以将测试用例添加到要针对自适应表单执行的测试包。

  • 要将测试用例添加到测试包,请使用 addTestCase TestSuite对象的方法。
  • addTestCase 方法将TestCase对象作为参数。
  • 要创建TestCase,请使用 hobs.TestCase(..) 方法。
  • 注意:第一个参数是将显示在UI中的测试用例的名称。
  • 创建测试用例后,您可以向测试用例添加操作。
  • 操作包括 navigateToasserts.isTrue 可以作为操作添加到测试用例中。

运行自动化测试 running-the-automated-tests

Openthetestsuite展开测试套件并运行测试。 如果一切运行成功,您将看到以下输出。

calvinsdk

尝试使用示例测试包 try-out-the-sample-test-suites

作为示例包的一部分,还有三个额外的测试包。 您可以通过在clientlibrary的js.txt文件中包含相应的文件来尝试这些文件,如下所示:

#base=.

scriptingTest.js
validationTest.js
prefillTest.js
mortgageForm.js
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e