随着 Squish 8.1 的发布, Squish for Java 成为继 Squish for Qt 之后第二个为基于 Linux arm64 系统提供二进制包的版本。
Linux 发行版、arm64 CPU 和 Java
过去十年间,基于 arm64 平台的 Linux 发行版普及度有所提升,主要得益于树莓派(Raspberry Pi)和智能手机等 ARM 设备的增长。虽然 arm64 处理器具备能效和每瓦性能等优势,但由于软件兼容性问题及相比 x86 架构更少的可用二进制软件包,其在桌面端的采用仍然有限。
Ubuntu、Debian和Arch Linux都采用了arm64 CPU,以迎合嵌入式系统爱好者和开发者的需求,但由于缺乏合适的硬件和对专有应用程序的原生支持,其在主流市场普及的速度相当缓慢,因此对许多Linux用户来说,基于x86架构的系统是更直接的选择。
与西方市场形成鲜明对比的是,由于地域特殊性,arm64 平台上的 Linux 在亚太地区(APAC) 取得了显著增长。政府支持的 Linux 发行版(如麒麟OS)已针对基于 arm 进行了硬件优化,反映出对技术自主化的推动以及与华为等芯片厂商的协同。这一趋势也受益于亚太地区在嵌入式系统和消费电子领域的主导地位——这些领域正是ARM设备的优势市场。
与此同时,Java已成为 arm64 系统Linux发行版的关键组成部分:其采用率与效率提升得益于 OpenJDK 项目引入的优化。对于应用开发者而言,ARM 原生版本的 Java(JDK 和 JRE)可确保无缝部署,无需重新编译,充分发挥ARM 架构的性能优势。
Squish for Java:首个 Linux arm64 的二进制包
在上一篇博文中,我们介绍了在 Linux on arm64(LoA)平台上自动测试Qt应用的完整流程(虽然复杂但支持完善):为基于 arm64 的目标系统交叉编译 Squish 的部分源代码,并在基于 x86 的单独系统上安装二进制包中的 Squish IDE 和工具。用户必须从这台主机远程访问squishserver和 arm64 设备上的被测应用 (AUT)。在Squish 8.0引入专用 LoA 二进制包并简化流程之前,这是在该平台上使用 Squish for Qt 实现测试自动化的唯一方法。
要在基于 arm64 的系统上使用 Squish for Java 实现 Java 应用程序自动化测试,我们缺乏类似的解决方案,因为客户中心不提供Java封装器源码包下载。此外,从源代码构建 Squish 组件的详细文档仅针对 Squish for Qt编写。
在Squish 8.1中,我们首次推出面向 Ubuntu 24.04 的 Linux arm64 版 Squish for Java 二进制软件包。这些软件包使得此前无法实现的 LoA 平台Java 应用测试自动化成为可能。用于测试开发和脚本执行的全套工具(包括Squish IDE和squishrunner)均可开箱即用,显著简化LoA桌面/笔记本设备的测试环境搭建。
未来计划:Squish for Web
正如之前所宣布的,未来将扩展支持 arm64 Linux 的 Squish 版本,下一个推出的将是 Squish for Web 版本。但其在网站自动化测试中的实际可用性,取决于能否在平台安装不依赖独立软件分发系统(Flatpak/Snap)的稳定浏览器(Mozilla Firefox 或 Google Chrome),而Squish 目前还不支持这些系统。
我们持续密切关注主要 Linux 发行版(Ubuntu、Debian)中网络浏览器的可用性,一旦可以满足典型的网络自动化应用场景,我们将在 Squish 功能版本中发布适用于 LoA 平台的 Squish for Web 二进制软件包。