为Android测试安装Squish for Qt

适用于安卓的Squish for Qt测试包适用于为Qt在安卓上的应用程序进行测试做准备。您还需要在您的桌面机器上安装Squish for Qt包,以便记录、管理和回放测试。请参见从二进制包安装获取有关安装此类包的详细信息。

为了构建与Squish for Qt在安卓上使用的应用程序,您必须解包此包,并将Squish的Qt支持包括在构建中的应用程序构建,然后部署应用程序。

  1. 将Qt内置钩子添加到您的应用程序项目中。
  2. 确保您的项目将与Qt库一起作为APK的一部分进行部署。使用Ministro服务安装Qt可能不起作用。此设置可以在Qt Creator中的项目构建构建步骤构建Android APK附加库中找到。在Qt Creator之外,这可以通过androiddeployqt的命令行参数进行配置(另见https://doc.qt.ac.cn/qt-5/deployment-android.html)。
  3. 在Qt Creator中,选择清理,以确保qmake能够收集Squish for Qt的各个部分,并将其包含在最终应用程序包中。之后选择运行调试以在设备上构建、部署和运行应用程序。
  4. 现在应用程序应该在安卓设备上运行。在Qt Creator的应用程序输出中,应该显示以单词Squish开头的几行,包括Squish: Listening on port 4567 for incoming connections,其中4567是项目文件中之前指定的端口号。
  5. 如果应用程序在安卓模拟器中运行或需要通过USB连接进行测试,则需要将TCP端口转发到桌面机器,以便连接到测试应用程序。为此,请从桌面机器的命令行提示符调用以下命令
    $ adb forward tcp:portnumber tcp:portnumber

    再次将<portnumber>替换为在qmake项目文件中设置的端口号。adb命令行工具是Android Studio的一部分。

  6. 如果尚未完成,请在桌面机器上安装Squish for Qt二进制包。对于远程测试安卓上的Qt,此包的Qt版本和编译器版本并不重要。
  7. squishide中,选择文件新建测试套件以创建新的测试套件,并遵循向导。当被问及GUI工具包时,选择Qt。当被问及测试应用程序时,选择<无应用程序>
  8. 遵循注册可附加的AUT中的步骤来注册应用程序作为可附加的AUT。如果使用ADB通过TCP端口转发,则主机将是localhost

要验证AUT是否接受传入连接,可以使用netstat的输出(对于Windows命令提示符,将grep替换为findstr)。

$ adb shell netstat -a | grep portnumber
 tcp       0      0 0.0.0.0:portnumber   0.0.0.0:*        LISTEN

如果表格输出中存在状态为监听并且之前指定的端口号的条目,则将运行中的AUT连接起来会起作用。

©2024 Qt公司有限公司。本文件包含的文档贡献是各自所有者的版权。
提供的文档是根据 GNU 自由文档许可证版本 1.3 的条款许可的,由自由软件基金会发布。
Qt以及相应的标志是芬兰的 Qt 公司以及/或其他国家的商标。所有其他商标均为各自所有者的财产。