上载和实施端到端测试

测试扩展包括使用 Adobe Experience Platform Launch API 和/或命令行工具上载扩展包,然后使用 Platform Launch UI 将扩展包安装到资产,并在 Platform Launch 库和内部版本中执行其功能。

完成此操作的基本步骤是:

  1. 验证扩展
  2. 创建 Adobe I/O 集成
  3. 上载扩展包
  4. 创建开发资产
  5. 安装扩展
  6. 创建资源以测试扩展
  7. 发布更改
  8. 在测试网站上安装 Platform Launch
  9. 测试

执行测试时(上述步骤 9),在发现需要修复的问题后,您将:

  1. 更新扩展代码
  2. 创建新扩展包
  3. 上载新扩展包 - 已安装的扩展将自动引用此新包
  4. 根据需要更新资源
  5. 再次发布
  6. 测试

在完成以下步骤时,我们假定您使用的是已安装并可使用节点和 npm 的 Mac OS。

验证扩展

当您的团队对扩展的性能以及在沙盒工具中看到的结果感到满意后,您就可以将扩展包上载到 Platform Launch。

上载之前,请验证是否存在任何必填字段或设置。例如,最佳做法是(至少)查看扩展清单扩展配置视图库模块

您的徽标文件就是一个具体示例:向 extension.json 文件中添加 "iconPath": "example.svg", 行,并将该徽标图像文件添加到项目中。这是将在 Platform Launch 中为扩展显示的图标的相对路径。它不应以斜杠开头,必须引用一个扩展名为 .svg 的 SVG 文件。该 SVG 在呈现正方形时应正常显示,并且可以通过用户界面缩放。有关更多详细信息,请参阅如何缩放 SVG

注意

对于公共扩展,请在 extension.json 中添加一个项目,并包含指向 Exchange 列表的链接。您的扩展清单应包含如下条目:"exchangeUrl":"https://www.adobeexchange.com/experiencecloud.details.12345.html",以指向 Exchange 列表的 URL。

创建 Adobe I/O 集成

要使用 API 或命令行工具,您需要具有 Adobe I/O 的技术帐户。我们将在 I/O 控制台中创建技术帐户,然后使用 Uploader 工具上载扩展包。

有关创建用于 Platform Launch 的技术帐户的信息,请参阅访问令牌指南。

重要

要在 Adobe I/O 中创建集成,您必须是 Experience Cloud 组织管理员或 Experience Cloud 组织开发人员。

如果无法创建集成,那么您可能没有正确的权限,此时需要请求其中一位组织管理员为您完成相关步骤或将您指定为开发人员,这样您就可以自行完成集成。

上载扩展包

整理好凭据后,您现在可以端到端地测试扩展包。

首次上载扩展包时,它会进入 development 状态。这意味着它仅在您自己的 Platform Launch 公司,以及标记为扩展开发(稍后会详细介绍)的 Platform Launch 资产中可见。

现在,返回到包含 .zip 包的目录中的命令行。

npx @adobe/reactor-uploader

npx 允许您下载和运行 npm 包,而无需将其实际安装到计算机上。这是运行 Uploader 的最简单方法。

Uploader 将要求您输入几条信息。技术帐户 ID、API 密钥和其他一些信息可以从 Adobe I/O 控制台中检索。导航到 I/O 控制台中的集成页面。从下拉菜单中选择正确的组织,找到正确的集成,然后选择 View

  • 私钥的路径是什么?/path/to/private.key。这是您在上面步骤 2 中保存私钥的位置。
  • 您的组织 ID 是什么?请从之前保持打开状态的 I/O 控制台概览页面复制/粘贴此 ID。
  • 您的技术帐户 ID 是什么?请从 I/O 控制台复制/粘贴。
  • 您的 API 密钥是什么?请从 I/O 控制台复制/粘贴。
  • 客户端密码是什么?请从 I/O 控制台复制/粘贴。
  • 要上载的 extension_package 的路径是什么?/path/to/extension_package.zip。如果从包含 .zip 包的目录中调用 Uploader,则只需从列表中选择该包,而不需要键入路径。

随后将上载扩展包,并且 Uploader 将为您提供 extension_package 的 ID。

注意

在上载或打补丁时,扩展包将处于待处理状态,而系统将异步提取该包并进行部署。在此过程期间,可以使用 API 在 Platform Launch 中轮询 extension_package ID 的状态,您将在目录中看到一个标记为“Pending”的扩展卡。

注意

如果您打算经常运行 Uploader,那么每次输入所有这些信息可能会造成负担。您也可以从命令行将这些信息作为参数传入。有关更多信息,请参阅 NPM 文档的命令行参数部分。

创建开发资产

登录 Platform Launch 后,您首先会看到“Properties”页面。资产是要部署的标记的容器,可用于一个或多个网站。

在此处,您可以看到我的“test”资产,但当您首次登录时,屏幕上不会显示任何资产。选择 New Property,以创建一个资产。输入名称和 URL。您可能希望使用测试网站或者要测试扩展的页面的 URL。此域字段可以由一些扩展使用,也可以由使用核心扩展的条件使用(我们将在后面介绍)。请注意,localhost 不起作用,因此如果您使用的是 localhost URL,则只需使用任何值即可进行此测试,例如 example.com。

由于要将此资产用于扩展开发测试,因此还需要展开“Advanced Options”并确保选中“Configure for extension development”复选框。

选择底部的 Save,以保存您的新资产。

您将转到“Properties”页面。选择刚刚创建的资产的名称。这是资产中的“Overview”页面。此页面并未涉及很多操作,但包含指向系统每个区域的链接,其中全局导航链接位于顶部。

安装扩展

要在此资产中安装扩展,请选择顶部主导航链接中的 Extensions 链接。

您将在 Installed 页面上看到 Core 扩展。Core 扩展包含 Platform Launch 中的所有标签管理功能。要添加扩展,请选择 Catalog

目录将显示每个可用扩展的卡图标。如果扩展未显示在目录中,请确保您首先完成了前面在 Adobe 管理控制台中创建和设置扩展包部分中的步骤。如果 Platform Launch 尚未完成初始处理,则扩展包也可能显示为“Pending”。

如果您确信已正确完成了所有操作,但仍未在目录中看到“Pending”或“Failed”扩展包,则可能需要直接点击 API 以检查扩展包的状态。有关更多信息,请参阅 API 文档中的获取扩展包

假定扩展包已完成处理,则此处的卡片将包含一个可供选择的 Install 按钮:

这将显示您为扩展构建的配置屏幕(如果您有的话)。添加配置扩展所需的任何信息,然后选择底部的 Save。如果没有配置您的扩展,则会在您选择 Install 后立即安装该扩展。

以下是 Facebook 扩展的示例:

现在,您应该看到 Installed 扩展页面中包含 Core 扩展和您的扩展。

创建资源以测试扩展

扩展可以在 Platform Launch 中为用户提供一些新功能。这些功能几乎总是显示在数据元素或规则生成器中。下面我们将讨论这两个方面。

数据元素

数据元素存在于 Platform Launch 中,可帮助用户保留值。每个数据元素都是到源数据的映射或指示符。单个数据元素是一个变量,可以映射到查询字符串、URL、Cookie 值、JavaScript 变量等。

扩展可以根据需要定义数据元素类型,以便扩展运行,或者只是为用户提供方便。扩展提供数据元素类型后,这些类型会显示在“Create New Data Element”页面上为用户提供的下拉列表中:

当用户从“Extension”下拉列表中选择您的扩展后,“Data Element Type”下拉列表中将填充您的扩展提供的所有数据元素类型。然后,用户可以将每个数据元素映射到其源值。接下来,在数据元素更改事件或自定义代码事件中构建规则时,可以使用数据元素来触发要执行的规则。数据元素还可以在数据元素条件或者规则中的其他条件、例外或操作中使用。

创建数据元素(设置映射)后,用户只需引用数据元素即可引用源数据。如果值的来源发生变化(网站重新设计等),用户只需在 Platform Launch 中更新一次映射,所有数据元素都会自动接收新的源值。

规则

在顶部导航中选择 Rules 链接,然后单击 Add Rule

首先,为规则命名,任何名称都可以。“Create New Rule”页面的设置类似于 if-then 语句:

如果事件发生,条件通过评估,并且没有例外,则会触发操作。扩展中也存在相同的流程,您可以在其中创建或利用事件、条件、例外、数据元素或操作。

继续以 Facebook 为例,让我们为页面任何时候在我们的网站上加载添加一个事件:

通过使用 Window Loaded 事件类型,每当页面在我们的网站上加载时,都会触发此规则。选择 Save。对于此示例,我们将跳过“Conditions”和“Exceptions”,因为我们希望为网站上的任何页面触发此规则 - 也可以说是“全局”On Load 规则。

在“Actions”下方选择 Add。在此“Action Configuration”页面上,可以选择要使用的扩展以及触发此规则时要发生的操作。在“Extension”下方选择 Facebook Pixel,然后在“Action Type”下方选择 Send Page View

选择底部的 Keep Changes,并在下一个页面上选择 Save Rule。测试扩展时,您可以在任意数量的规则中选择扩展提供的任何事件、条件等。

发布更改

在主导航中,选择 Publishing,然后选择 Add New Library 链接:

库是扩展、数据元素和规则如何彼此交互以及如何与网站交互的一组说明。库会被编译为内部版本。一个库可以包含用户希望一次进行或测试的任意多个更改。

在“Create New Library”页面上,添加一个名称并选择一个环境。Platform Launch 提供了一个名为 Development 的默认开发环境,因此请从“Environment”列表中选择该环境。现在,我们将添加所有可用资源,因此请选择 Add All Changed Resources

注意

在将资源添加到库时,将会拍摄该资源截至此确切时间的快照并将其添加到库中。当您稍后对资源进行更改(例如,因为需要进行修复)时,还需要更新库以包含对资源的最新更改。Add All Changed Resources 按钮也可以用于此目的。

然后选择底部的 Save 链接。现在,我们所有的更改都包含在此 dev 库中,接下来让我们对其进行构建:

构建过程完成后,库名称旁边会显示一个绿色的 success 指示符:

Platform Launch 库现已发布,正在等待使用。现在,我们需要让测试页面查找此库,以便我们能够在浏览器中测试最终用户的行为。

在测试网站上安装 Platform Launch

安装说明可从“Environments”选项卡获得,现在让我们导航到此处。

在此页面上,您将看到所有可用的环境,并能够创建更多环境。我们已将库发布到开发环境,因此请单击“Development”行上“Install”列中的盒子图标,以获取该环境的安装说明。

我们现在正在查看开发环境的安装说明。在此,我们需要做的就是复制盒子中的 <script> 标记,因此请选择“Copy”按钮。

通过将单个 <script> 标记放置在文档或网站模板的 <head> 部分中,即可完成安装。现在,只需访问您的测试网站即可测试已发布的 Platform Launch 库的行为。

测试

在测试页面或网站上验证扩展时,有一些控制台命令将会很有用:

  • _satellite.setDebug(true); 会将 Platform Launch 置于调试模式,并将有用的日志记录语句输出到控制台。
  • _satellite._container 对象包含有关已部署库的各种有用信息,包括有关所包含版本、数据元素、规则和扩展的详细信息。

最终,您的目标是测试已部署库的功能,以确保当 Platform Launch 将您在扩展包中编写的代码编译到库中后,该代码能按预期运行。

当发现需要对扩展包进行更改时,迭代过程与开发过程类似。

  1. 更改项目中的代码
  2. 使用沙盒工具验证更改
  3. 使用 Packager 工具创建新的 .zip 包
  4. 使用 Uploader 工具上载新的 .zip 包 - 您可以按照与上面进行初始上载相同的说明进行操作,但此时您会注意到,因为开发模式中已存在具有该名称的扩展包,所以此扩展包将覆盖另一个扩展包,而不是创建新的扩展包。如果希望节省时间而不想一遍又一遍地输入凭据,则可以查看 reactor-uploader 文档,并在命令行中传递参数。
  5. 我们这次可以跳过安装步骤
  6. 修改资源 - 如果更改了任何扩展组件的配置,则需要在 Platform Launch UI 中更新这些资源。
  7. 将最新更改添加到库,然后再次构建
  8. 测试更多功能

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