将自动测试与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中的测试用例的名称。
- 创建测试用例后,您可以向测试用例添加操作。
- 操作包括
navigateTo
,asserts.isTrue
可以作为操作添加到测试用例中。
运行自动化测试 running-the-automated-tests
Openthetestsuite展开测试套件并运行测试。 如果一切运行成功,您将看到以下输出。
尝试使用示例测试包 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