Selenium Grid 虚拟网格搭建与使用全解析
1. 虚拟网格概述
在设计 Selenium Grid 时,用户首先要决定是使用物理机还是虚拟机。在云计算时代,大多数用户会选择某种虚拟网格,可借助 Amazon Web Services、VMware 或 Microsoft Azure Cloud Services 来实现。对于移动设备测试,用户能在 macOS 虚拟机上运行 iPhone 模拟器,在 Linux 和 Windows 虚拟机上运行 Android 模拟器。
要连接到远程虚拟机节点,用户可使用 VMware vCloud Director、Apple Remote Desktop Client、Windows 或 Linux 的远程桌面客户端、RealVNC 等工具。
当在网格上远程运行测试时,测试通常从本地 IDE 或某种 Jenkins 从节点启动。实际的浏览器或移动设备将在远程节点上启动,而非本地虚拟机或 Jenkins 从节点。Selenium WebDriver 事件会从客户端发送到远程中心节点,中心节点再将事件重定向到合适的平台,启动驱动程序并运行测试。
2. 网格结构
构建 Selenium Grid 的虚拟机时,会有一个中心节点(hub)和多个浏览器及移动设备节点。中心节点运行 Selenium 独立服务器,使用 JSON 配置文件为所有节点设置通用的期望能力,并作为服务在虚拟机上启动。基于 Linux 的中心节点运行速度更快、效率更高,因此比基于 Windows 的中心节点更受推荐。
每个浏览器节点有多种配置方式。每个节点运行 Selenium 独立服务器、节点的客户端驱动程序(