本文翻译自:Introducing Squish for Qt on Linux arm64 platform
原文作者:Qt Group质量保证研发经理Andreas Pakulat
审校:Jinjing Li
随着首批预构建的Qt 6.7二进制文件现已可用于基于arm64平台的Linux系统,即将发布的Squish GUI Tester 8.0版本(Qt版)也提供了适配的二进制包,以便在arm64平台上测试Qt应用。
Arm64系统越来越受欢迎
Squish GUI Tester一直以来都是一款支持多平台和系统架构的测试利器,尤其是在嵌入式领域,还提供了对arm64架构的支持。然而,近年来,桌面和笔记本电脑从x86架构转向arm64架构的趋势变得愈发明显,苹果M1/M2/M3 系统便是其中最突出的一个例子。
除苹果Mac平台以外, 基于arm64架构的系统吸引了越来越多的Linux桌面和笔记本用户。但由于缺乏兼容层(比如 Apple Rosetta2),目前尚无法在这种环境下运行Squish GUI Tester的关键组件(比如Squish IDE或squishrunner),因为这些组件仅提供了基于x86架构编译的二进制包。
远程测试和利用源代码进行构建
对于搭载arm64 CPU的Linux系统而言,自动化GUI应用的唯一方案是,使用Squish进行远程测试设置,即集成开发环境(IDE)和squishrunner将在一个独立的x86系统上运行,并远程连接至在arm64系统上运行的被测应用(AUT)。尽管Squish通常提供了良好的支持,但这一设置也存在一些缺点:
由于缺乏现成的二进制包,对于基于arm64架构的系统,Squish的部分组件需要使用源代码构建。
对于某些版本,尤其是Squish for Java和Squish for Web,虽然可以使用源代码进行构建,但相比之下要复杂得多。
Squish 8.0:首批面向Linux系统的arm64二进制包
即将发布的Squish GUI Tester 8.0为Squish for Qt带来了变革,提供了首批基于arm64架构的Linux二进制包,用以支持Debian 11及更高版本,与官方支持的Qt 6.7库平台保持一致。这些二进制包包含完整的测试开发和脚本执行工具集(包括Squish IDE和squishrunner),可直接用于测试针对基于arm64架构的Linux系统构建的Qt 6.7被测应用。这大大简化了在arm64桌面和笔记本电脑上设置测试环境的流程,无需再使用源代码构建,亦无需配置两个独立系统进行远程测试。
此外,这些包还可用于测试使用Qt旧版本构建的被测应用,只需遵循我们的快速安装方法,将二进制包与使用源代码构建Squish部分组件生成的二进制文件结合使用即可。
对于在嵌入式系统上运行待测应用的用户,即使采用了基于arm64平台的CPU,仍需借助嵌入式编译器工具链,使用源代码为特定版本的Qt构建Squish的部分组件。
后续计划:面向Linux arm64平台的后续Squish版本
在Squish的后续版本中,对于基于arm64平台的Linux系统,我们计划扩大二进制包的支持范围,率先支持的版本包括Squish for Java和Squish for Web(预计大约在2024年第4季度随Squish GUI Tester 8.1一起发布)。Squish for Android、iOS和Tk后续也将逐步加入支持行列。
我们将紧密跟进Qt的后续版本,继续发布Squish for Qt二进制包,接下来将支持Qt 6.8版本。
至于Qt 6.7之前的版本,目前我们尚无计划推出对应的Squish for Qt二进制包,除非官方Qt二进制包也为旧版本的Qt提供了追溯性支持。
+++ +++
推荐阅读:
【Qt软件】
视频号
【Qt软件】
B站账号