有许多工具可用于 Web 和移动测试自动化。它们在功能、支持的平台和使用条款方面各不相同。为此,我们将只关注其中两个:Appium 和 Selenium。
开发人员和测试人员使用 Appium 框架来实现 Web、本机和混合移动应用程序的自动化。Selenium 框架用于 Web 应用程序自动化。此外,Selenium 是用 JAVA 编写的,Appium 是用 JavaScript 编写的。虽然乍一看它们不同,但它们有一个共同点:Appium 和 Selenium 使用 webDriver 协议与目标平台通信:Appium 与移动设备,Selenium 与 Web 浏览器对应。通常,Selenium webDriver 脚本可在移动设备浏览器和桌面浏览器中执行,以针对同一个 Web 应用程序执行相同的操作。
Web 和移动测试自动化驱动程序之间的区别
重要的是,Web 和移动测试自动化驱动程序之间的区别在于功能、支持的平台以及运行测试的测试台配置。Appium 尤其充当 HTTP 服务器,它有几个客户端:Java、JavaScript、Python、C#、Ruby。事实上,Appium 客户端是对 Selenium webDriver 客户端库的封装。除了 Selenium 之外,Appium 还使用一组扩展的 webDriver API,专门用于与移动设备的交互。例如,Appium 包括支持多点触控手势和屏幕方向、管理地理定位数据、访问设备日志等的命令。
Appium 服务器允许 Appium 用户访问被测设备的功能,例如在测试会话期间安装和删除应用程序。Selenium 存在相同的客户端实现。但是只有当我们需要安装 Selenium 网格时,才需要 Selenium 服务器来执行分布式测试。
澄清一下,Selenium 支持在主要桌面操作系统中运行的主要浏览器。Appium 支持种类繁多的 iOS 和 Android 设备,适用于官方支持的 iOS 和 Android 版本。此外,Appium 可以提供 MS Windows 应用程序的自动化。另一方面,为 Appium 和 Selenium 测试配置基础设施所需的工作量有所不同。要进行 Appium 测试,您需要安装 nodeJS、安装 Appium、配置 SDK 和特定的设备驱动程序和框架。对于 Selenium 测试用例,配置测试开发和执行环境的步骤并不多,除非您安装 Selenium 服务器来针对 Selenium Grid 运行测试。Appium 和 Selenium 堆栈图如下图所示。