测试UI

AEM为AEM UI提供了自动化测试的框架。 使用框架,您可以直接在Web浏览器中编写和运行UI测试。 该框架提供了用于创建测试的javascript API。

AEM测试框架使用Hobbes.js,这是一个用Javascript编写的测试库。 Hobbes.js框架是作为开发过程的一部分为测试AEM而开发的。 该框架现在可供公众使用,用于测试AEM应用程序。

注意

有关API的完整详细信息,请参阅Hobbes.js 文档

测试结构

在AEM中使用自动测试时,以下术语是重要的,需要了解:

操作 操作​是网页上的特定活动,如单击链接或按钮。
测试用例 测试用例​是由一个或多个​动作​组成的特定情况。
测试套件 测试套件​是一组相关的​测试用例,它们一起测试特定用例。

正在执行测试

查看测试套件

打开测试控制台,查看已注册的测试套件。 “Tests(测试)”面板包含测试套件及其测试用例的列表。

通过​全局导航->工具>操作->测试​导航到工具控制台。

chlimage_1-26

打开控制台时,测试套件将列在左侧,并提供一个选项以按顺序运行所有测试套件。 右侧显示的带有方格背景的空间是测试运行时显示页面内容的占位符。

chlimage_1-27

运行单个测试套件

测试套件可以单独运行。 运行测试套件时,页面会随着测试用例及其操作的执行而发生更改,测试结果会在测试完成后显示。 图标表示结果。

复选标记图标指示通过的测试:

“X”图标表示测试失败:

运行测试套件:

  1. 在“Tests(测试)”面板中,单击或点按要运行的测试用例的名称,以展开“Actions(操作)”的详细信息。

    chlimage_1-28

  2. 单击或点按​运行test​按钮。

  3. 测试执行时,占位符将替换为页面内容。

    chlimage_1-21

  4. 点按或单击说明以打开​Result​面板,查看测试用例的结果。 点按或单击​Result​面板中的测试用例名称会显示所有详细信息。

    chlimage_1-30

运行多个测试

测试套件按其在控制台中的显示顺序顺序执行。 您可以深入测试,查看详细结果。

chlimage_1-31

  1. 在“Tests(测试)”面板上,点按或单击要运行的测试套件标题下的​运行所有测试​按钮或​运行测试​按钮。

  2. 要视图每个测试用例的结果,请点按或单击测试用例的标题。 点按或单击​Result​面板中的测试名称会显示所有详细信息。

    chlimage_1-32

创建和使用简单测试套件

以下过程会指导您使用We.Retail内容创建和执行测试套件,但您可以轻松修改测试以使用其他网页。

有关创建您自己的测试套件的完整详细信息,请参阅Hobbes.js API文档

  1. 打开CRXDE Lite。 (http://localhost:4502/crx/de)

  2. 右键单击/etc/clientlibs文件夹,然后单击​创建>创建文件夹。 键入myTests作为名称,然后单击​确定

  3. 右键单击/etc/clientlibs/myTests文件夹,然后单击​创建>创建节点。 使用以下属性值,然后单击​确定:

    • 名称: myFirstTest
    • 类型: cq:ClientLibraryFolder
  4. 将以下属性添加到myFirstTest节点:

    名称 类型
    categories String[] granite.testing.hobbes.tests
    dependencies String[] granite.testing.hobbes.testrunner
    注意

    AEM Forms

    要测试自适应表单,请向类别和依赖项添加以下值。 例如:

    类别: granite.testing.hobbes.tests, granite.testing.hobbes.af.commons

    相关性: granite.testing.hobbes.testrunner, granite.testing.hobbes.af

  5. 单击​保存全部

  6. 右键单击myFirstTest节点,然后单击​创建>创建文件。 命名文件js.txt,然后单击​确定

  7. js.txt文件中,输入以下文本:

    #base=.
    myTestSuite.js
    
  8. 单击​保存全部,然后关闭js.txt文件。

  9. 右键单击myFirstTest节点,然后单击​创建>创建文件。 命名文件myTestSuite.js,然后单击​确定

  10. 将以下代码复制到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")
    );
    
  11. 导航到​Testing​控制台以尝试测试套件。

On this page

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