安装和配置最佳实践
本节详细介绍了安装和配置 Digital Lab 的最佳实践。
Digital Lab 可以作为完全安装 (如果没有以前的安装) 或作为现有安装之上的升级进行安装。安装程序将检查哪些文件已安装,并安装或更新相关文件。
部署时的注意事项
Digital Lab 支持分布式体系结构,其中不同的测试客户端可以与同一 Digital Lab 服务器实例进行交互。
Digital Lab 展开具有多个组件 :
组件 |
功能 |
---|---|
Digital Lab 服务器 |
这是可以安装在物理或虚拟环境中的单个 Web 服务器。 它用于:
备注: 安装 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 服务器以进行以下操作:
|
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 时检查以下内容:
常规 |
|
Android 设备 |
|
iOS (Apple) 设备 |
要避免在 iOS 设备上自动升级,请执行以下操作: 1.点击设置。 2.点击常规。 3.在软件更新部分中,关闭自动更新选项。 删除以前下载的 iOS 更新:
您还可以通过阻止 Wi - Fi 路由器上的以下域来阻止 iOS 自动更新:
要考虑的其他事项: |
其他管理最佳实践
有关实验室维护操作、监视、升级和代码注入服务的最佳实践,请参阅其他管理最佳实践。