Squish 无法加载 Qt AUT

问题描述 投票:0回答:1

我正在尝试使用挤压来自动化我的 Qt QML 应用程序。当我尝试捕获 AUT 的测试用例时,压缩无法加载它。服务器日志显示

Squish Qt toolkit support failed: libQt6Widgets.so.6: cannot open shared object file: No such file or directory

libQt6widgets.so.6 存在于我的 Qt 路径中。

Linux => Ubuntu22 和 Ubuntu 20 Qt版本6.6.0 挤压qt版本6.6.0

该目录仅包含 qt 应用程序。使用上述 AUT 创建了一个新的测试套件。 在挤压中启动 AUT。 Squish 服务器出现错误。

我在 Windows 中使用挤压窗口版本尝试了相同的操作。效果很好。

linux qt qml shared-libraries squish
1个回答
0
投票

(促进我之前的评论来回答:)

该库必须位于操作系统的搜索路径中。

正确部署的 Qt 应用程序通常应该是这种情况。如果不是,应用程序的部署可能不正确,应重新考虑。

但是,一般来说,Squish 中对 Qt 默认二进制包的 Qt 支持依赖于 Qt Widgets。这意味着不需要 Qt Widgets 的应用程序将在没有相应库的情况下进行部署,然后 Squish 的 Qt 支持将由于缺少库而无法加载到应用程序中。要处理这个问题:

  • 将此库(从 Qt 构建文件夹中 - 前提是在此 Qt 构建的配置时启用了 Qt Widgets)复制到与应用程序的其他 Qt 库相同的文件夹中。

  • 使用禁用了 Qt Widgets 模块/选项的 Qt 构建来构建 Squish 的 Qt 支持。这样,Squish 的 Qt 支持就不会将此作为依赖项。

  • 将 LD_LIBRARY_PATH 设置为包含该库的文件夹的路径,或将其添加到 LD_LIBRARY_PATH - 对于 Squish IDE 或 AUT(例如,在选项卡“AUT”>“AUT 环境”的测试套件设置中)。

    在 shell/终端中:

    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:路径/到/文件夹./squishide

© www.soinside.com 2019 - 2024. All rights reserved.