安装和配置最佳实践

本节详细介绍了安装和配置 Digital Lab 的最佳实践。

Digital Lab 可以作为完全安装 (如果没有以前的安装) 或作为现有安装之上的升级进行安装。安装程序将检查哪些文件已安装,并安装或更新相关文件。

部署时的注意事项

Digital Lab 支持分布式体系结构,其中不同的测试客户端可以与同一 Digital Lab 服务器实例进行交互。

Digital Lab 展开具有多个组件 :

组件

功能

Digital Lab 服务器

这是可以安装在物理或虚拟环境中的单个 Web 服务器。

它用于:

  • 在对移动设备的测试工具客户端调用之间进行调解,并在测试工具中提供用户界面,以便在真实的移动设备上录制和运行测试。
  • 接受用于测试和管理应用程序版本的应用程序。
  • 为管理员提供用户界面 (实验室管理控制台),以便:
    • 管理用户。
    • 管理应用程序并查看其属性 (例如 OS 和版本)。
    • 控制设备: 远程重新启动、解锁或打开设备。
    • 查看和管理连接器。
    • 为用户配置各种设置,如代理定义和代码注入服务。
    • 启用扩展服务,如安全扫描、生产使用、群组测试和 SDK 符合性。

备注: 安装 Digital Lab 服务器时,如果要将设备直接连接到 Digital Lab 服务器实例,可以选择安装嵌入式连接器

PostgreSQL 数据库

您可以选择将 Digital Lab 连接到现有外部 PostgreSQL 数据库,或者使用 Digital Lab 服务器安装中嵌入的数据库。在安装过程中指定此选项。

有关详细信息,请参阅 Windows 安装Linux 安装

连接器

连接器设计为用于将设备连接到 Digital Lab 的轻量级软件,并且可以作为独立组件安装。可以在分布式位置的多台计算机上或在测试工具计算机上安装连接器。该连接器可以安装在 Windows、Linux 或 Mac 计算机上。

连接器设计为用于将设备连接到 Digital Lab 的轻量级软件,并且可以作为独立组件安装。可以在分布式位置的多台计算机上或在测试工具计算机上安装连接器。该连接器可以安装在 Windows、Linux 或 Mac 计算机上

高可用性

可以使用多台服务器在主动 - 被动配置中配置高可用性。在此模式下,有一个主动 Digital Lab 服务器 (负载平衡器将所有请求路由到该服务器) 和另一个被动 Digital Lab 服务器 (在主动服务器出现故障时可以接管)。有关详细信息,请参阅高可用性支持

文件存储系统

应用程序不再存储在数据库中,而是保存到文件系统中。安装或升级时,可以选择目标文件夹来存储上载到 Digital Lab 的应用程序。

还可以控制每个应用程序的上载的数量,并选择自动删除应用程序的旧上载。这使得 Digital Lab 管理员可以更轻松地管理需要维护的应用程序上载的数量,并减少文件系统上的负载。有关详细信息,请参阅 Windows 安装中有关配置应用程序文件存储的部分以及常规管理设置下的限制应用程序上载部分。

后退到顶部

部署方案

Digital Lab 部署方案的决策点根据客户要求而有所不同。

方案

描述

优点

一体化

Digital Lab 服务器、数据库和嵌入式连接器的单机版部署。

简单。适用于概念验证和本地安装。

三层部署

通过在不同位置安装 Digital Lab 服务器和数据库来分隔 Web 层和数据层。

Web 和数据库层的可伸缩性。支持本地 IT 最佳实践的 Web 和数据库管理。

对于连接器/设备的部署,可以考虑以下方案:

方案

描述

优点

中心设备集线器

连接到 Digital Lab 服务器计算机上的连接器的设备的中央实验室。

效率。避免设置和管理设备的任务重复

分布式设备集线器

连接器安装在多个位置的计算机上 (现场/异地/全球分散)。

可缩放。可以根据需要添加新实验室。

携带自己的设备 连接器安装在开发人员/测试工程师的计算机上。 支持在设备上对应用程序进行上机测试。

后退到顶部

硬件要求

有关 Digital Lab 硬件要求的完整列表,请参见《支持矩阵》。

规划 Digital Lab 硬件资源时,请考虑以下参数:

组件

内存

CPU

磁盘空间

Digital Lab 服务器

Digital Lab 服务器是一个 Java 应用程序。因此,它使用预定义的主机内存量。使用的内存量受模拟会话 (用户会话) 的数量的影响。最小内存要求为 8 GB。对于介质部署 (<30 个设备),建议使用 8 GB,对于大型部署 (> 30 个设备),建议使用 16 GB。

 

* 根据您的计算机内存,我们建议您在安装、升级或修改 Digital Lab 服务器时增加 Java 虚拟机 (JVM) 的最大堆大小,例如 : 如果计算机具有 8 GB,则可以将 Java 堆大小增加到 4GB。

Digital Lab 服务器 CPU 消耗取决于已处理的请求的数量。最低要求是一个 x64 处理器,2.2 GHz

磁盘空间在 Digital Lab 服务器上的使用取决于多种因素,例如日志生成、代码注入应用程序和进程。

我们建议至少 20 个 GB: 15 GB 表示常规安装,5 GB 表示临时文件夹。请注意,在版本 3.5 及更高版本中,您可以指定一个不同于 TMP/TEMP 的临时文件夹。

系统磁盘上还需要 1 GB 的可用磁盘空间。

PostgreSQL 数据库

PostgreSQL 内存消耗受执行所需的 SQL 查询的影响。内存的最低要求是 2 GB。强烈建议介质部署至少为 8 GB (<30 个设备),大型部署至少为 16 GB (> 30 个设备)。

PostgreSQL 基于进程。最低要求是双核 CPU,2.2 GHz。

PostgreSQL 上的磁盘空间使用情况取决于数据大小。在 Windows 上,PostgreSQL 安装在 C: 驱动器上,因此必须在那里分配磁盘空间。

连接器

Digital Lab 连接器是一个 Java 应用程序。因此,它使用预定义的主机内存量。

占用的内存量受模拟会话 (用户会话) 的数量的影响。最低要求为 4 GB。

* 对于标准部署 (每个连接器 8 - 10 个设备),建议至少使用 8 个 GB; 对于大型部署 (12 - 25 个设备),建议使用 16 个 GB。

Digital Lab 服务器的准则与连接器 Java 应用程序的准则相同。

对设备的远程访问会增加 CPU 的消耗,必须考虑这些因素。必须根据移动设备上的预期并发会话计划连接器硬件。它在 Windows、Linux 和 Mac 连接器之间略有不同。经验法则是为每个远程设备会话分配一半的 CPU 核心

Digital Lab 连接器上的磁盘空间使用量取决于各种因素,如生成的日志的数量和缓存在连接器上的应用程序文件的数量。

我们建议至少使用 10 GB。

后退到顶部

网络要求

Digital Lab 提供了简单的网络要求。有关更多详细信息,请参阅 Digital Lab 体系结构

网络延迟 Digital Lab 针对网络 (WAN) 上的弹性而设计,通过 HTTP/S 协议使用 REST API 通信。但是,还有一个利用 WebSocket 协议的通信通道。通过此协议进行的通信可能存在一些限制,需要考虑这些限制。通常,如果网络延迟小于 100,则当 Digital Lab 和连接器使用公用 Internet 、MPLS 、VPN 或任何其他方法时,不可能出现通信问题。延迟超过 200 毫秒将带来连通性挑战。若要使用远程视图中的设备,建议网络带宽为 1 Mbps 或更高。
Digital Lab 和 SSL

默认情况下,Digital Lab 使用 SSL 配置在服务器和连接器之间进行通信。这可以通过在安装过程中生成自签名 SSL 证书来实现。对于生产使用,强烈建议使用 CA 证书 (由证书颁发机构颁发的证书,而不是自签名证书),这将消除浏览器中的安全警告并简化测试工具的连接。我们还建议将 CA 证书与 CA 根证书一起使用,以避免客户端计算机上出现任何识别问题。有关详细信息,请参阅 SSL 和证书

从联网角度来看,使用 SSL 也很有用,因为它可以消除 IPS 或其他安全网关的任何内部安全障碍。

Digital Lab 端口

Digital Lab 服务器 (Web 前端) 使用单个端口。该端口是在安装 Digital Lab 务器期间配置的。Digital Lab 连接器还利用单个端口与 Digital Lab 服务器和最终用户 (客户端) 进行连接。在内部,Digital Lab 连接器利用反向代理 (Namx) 将请求路由到相关移动设备。因此,从网络的角度来看,应该可以访问 (进入) Digital Lab 服务器和连接器的单个端口。

对于使用的协议,需要 HTTP/HTTPS 和 WebSocket/WebSocket Secure (WS/WSS) 协议。

客户端工具和 Digital Lab 服务器连接

常见的客户端工具是 UFT One, LoadRunner, Sprinter, BPM, UFT Developer, 和 Appium 脚本。

测试工具客户端连接到 Digital Lab 服务器以进行以下操作:

  • 用于管理设备和通过 HTTP/HTTPS 上载应用程序的用户界面 (UI)。

  • 用于测试和管理的 API (JSON 命令),通过 WebSocket (WS/WSS) 发送。

  • 通过 WebSocket (WS/WSS) 发送的远程屏幕查看器客户端

后退到顶部

USB 集线器和设备功耗

将设备与 Digital Lab 配合使用时,需要进行同步和充电。设备通过 USB 电缆连接,USB 电缆提供持续的充电和通信 (Digital Lab 连接器到代理)。由于 USB 端口的数量通常是受限制的,因此请使用 USB 自供电集线器来支持所需的可伸缩性。集线器由外部电源供电,因此可以为每个端口提供完全电源。移动设备的充电要求介于 500 至 5 ,000 mA 之间 (从 Android 和 iOS 电话到平板电脑和 iPad)。强烈建议您确保电源集线器可以为所有 USB 端口提供所需的电源。

例如,假设一个供电的 7 端口 USB 集线器的功率为 60 W,其规格为 12V 和 5A (12x5 = 60)。智能集线器将 5A 在 7 个端口之间动态拆分,每个端口约为 714 mA,这足以满足小型/旧式移动电话的需要。但是,如果将 iPad 连接到该集线器,它将消耗 2100 mA,剩余的 2900 mA 将被拆分在 6 个端口 (每个端口约 480 mA) 之间,即使对于移动电话来说,这也可能是一个问题,因为分配的功率小于所需的 500 mA。

下表列出了最常用的设备及其同步和充电的电源要求。

iOS 设备

mA

Android 设备

mA

iPad Pro 12.9 英寸 (第四代)

3000

Samsung S9/S9+

2000

iPad Pro 12.9 英寸 (第三代)

3000

Samsung Note8

2100

iPad Pro 11 英寸 (第二代)

3000

LG G4

1800

iPad Pro 11 英寸

3000

Google Pixel 2

2000

iPad Retina

2400

Samsung S9/S9+

2000

iPad 2

2100

Samsung Note8

2100

iPad Air and iPad Air 2

2100

LG G4

1800

iPad Mini 2 和 3

2100

Google Pixel 2

2000

iPad Mini

1000

Huawei Mate 9

2000

iPhone 5s

500

Lenovo K8

1000

iPhone 6/7 和 iPhone 6/7 Plus

1000

MotorolaNexus 6

2000

iPhone X 和 iPhone XS

1000

Xiaomi 5

1000

iPhone 8 和 iPhone 8 Plus

1000

Samsung S20/S20+

4000

iPhone XS Max

1000

S21 Ultra

5000

iPhone XR

1000

S21/S21+

4000/4800

iPhone 11

2000

Google Pixel 4a

3140

iPhone 11 Pro

2000

Google Pixel 5

2800

iPhone 11 Pro Max

2000

MotorolaOne 5G

5000

iPhone 12

2815

S22 Ultra

5000

iPhone 12 Pro

2815

Google Pixel 6 Pro

5000

iPhone 12 Pro Max

3687 

Samsung Galaxy Z Flip 3

3300

iPhone 13

3227 

Oppo Find X5 Pro

5000

iPhone 13 Pro

3095

S22 +

4500

iPhone 13 Pro Max

4352 

OnePlus Norton 2

4500

iPad mini 6

8827

OnePlus 10 Pro

5000

 

 

Xiaomi Redmi Note 10 Pro

5020

 

 

Xiaomi 11

4600

建议您提前规划和计算电源要求,以避免因电源问题而导致设备断开连接。此外,我们建议您使用符合 BC 1.2 标准的供电 USB 集线器。下面是推荐产品的一些示例:

  • 16 端口 USB 2.0 集线器 200W 多个 USB 端口集线器 - USB 充电分路器 5V 40A

  • 带同步功能的 16 端口 USB 充电桩,230V,5V 40A (200W) USB 充电器输出,2U 机架安装

  • SuperSync15 – Cambrionix Multideck

后退到顶部

设备宿主

移动设备始终连接到电源。建议执行以下操作,以减少此配置的热量和影响:

•将设备置于不可燃、通风良好的机箱中

•为机箱提供额外的通风

多种解决方案可帮助您满足这些要求。例如:

  • 用于机架安装的设备束

  • 用于机架安装的风扇外面板

  • 1U 16 端口 USB 电源集线器

  • 16 设备 USB 充电站机柜

有关与托管设备相关的其他最佳实践,请参阅连接设备到 Digital Lab

后退到顶部

设备配置

要帮助进行设备配置,请在将设备连接到 Digital Lab 时检查以下内容:

常规
  • 设备上未配置密码

  • 设备上未配置 Google Play 帐户/Apple Store 帐户

  • 设备连接到 Wi - Fi

  • 将屏幕亮度降至最低

  • 设备墙纸设置为单色,静态

Android 设备
  • 禁用锁定设备选项
  • 启用开发人员选项 (转到“设置”→“关于设备”→在内部版本号上单击 7 次)
  • 启用开发人员选项下的“保持唤醒”选项
  • 启用开发人员选项下的 USB 调试选项
  • 在运行于 Android 8.0 及更高版本的 Samsung 设备上,确保
  • 在“电池保护程序”菜单下将 Digital Lab 代理添加到未监控的应用程序中
  • 禁用自动更新和修补程序安装
    要避免对 Android 设备进行自动升级,请执行以下操作:
    设置 > 系统 > 关于设备 > 软件更新中,禁用自动更新。
iOS (Apple) 设备
  • 复制设备的 UDID (重新签名代理所必需的)
  • 禁用锁定设备选项
  • 如果设备在 iOS12 和更高版本上运行,则将自动锁定配置为 30 秒
  • 设置 > Safari > 高级下,启用 JavaScript 和 Web 检查器。
  • 启用 UI 自动化选项 (第一次连接到 Digital Lab 后 , 选项在设置中显示)
  • 禁用 iOS 自动更新 (设置 > 常规 > 软件更新)

要避免在 iOS 设备上自动升级,请执行以下操作:

1.点击设置。

2.点击常规。

3.在软件更新部分中,关闭自动更新选项。

删除以前下载的 iOS 更新:

  1. 打开设置应用程序。

  2. 点击常规

  3. 点击 iPhone/iPad 存储

  4. 稍微向下滚动,直到看到应用程序列表及其使用的存储量。查找 iOS 更新。

  5. 轻按此更新可查看更多详细信息,然后选择删除更新

  6. 点击删除更新进行确认。

您还可以通过阻止 Wi - Fi 路由器上的以下域来阻止 iOS 自动更新:

  • appldnld.apple.com

  • mesu.apple.com

要考虑的其他事项:

  • SIM 卡错误消息。此系统警报消息可能会阻止设备的即插即用操作。解决方案: 安装假 sim 卡或使用错误代码中的解决方法来解决

  • 系统对话框的自动关闭。有关详细信息,请参阅 iOS 选项

  • 自动防止设备锁定。有关详细信息,请参阅 iOS 选项

其他管理最佳实践

有关实验室维护操作、监视、升级和代码注入服务的最佳实践,请参阅其他管理最佳实践

后退到顶部