Qt是跨平台的桌面应用开发框架,CukeTest对Qt也提供了全面的跨平台支持,无论是基于 Qt Widgets、Qt Quick 还是 QML 构建的应用,CukeTest都能够实现其自动化。在CukeTest中,您可以选择两种方法来实现Qt应用的自动化:跨平台Qt自动化技术:这一技术的优势在于它的通用性,您可以编写一套自动化脚本,然后在 Windows、Linux ...
下面是使用Windows技术对Qt应用进行自动化时可能会遇到的问题和解决方法。CukeTest更建议使用跨平台Qt自动化的技术来自动化Qt应用,不仅有更易用和强大的API,也有更稳定的运行效果。 Q: 无法识别Qt应用的控件类型 A:在对Qt 4.x编写的应用进行控件识别时,有时会出现模型管理器无法识别出控件类型的情况,全部显示为Cust...
方法1:在模型管理器中,选择"操作"→"Qt启动终端"。在打开的终端中 方法2:在任意命令行中启动应用前先设置一个全局变量LD_PRELOAD,默认的路径值为:/usr/lib/cuketest/bin/agents/libqtagent.so(部分系统中为/opt/apps/com.leanpro.cuketest/files/lib/cuketest/bin/agents/libqtagent.so)。假设目标应用的路径...
跨平台Qt技术的也是对象识别技术,即通过使用控件的属性来定位控件,并执行自动化操作。 要了解更多关于模型对象及其属性,请查阅模型对象及属性文档。 共用识别属性 以下是在Qt中使用的识别属性,这些属性在其他自动化技术(如Windows自动化)中也存在,但在Qt中它们可能具有不同的含义。
由于跨平台Qt的Qt自动化机制,普通的手动启动方式并不能让Qt应用直接被CukeTest自动化。自动化Qt应用或侦测Qt对象时,需要通过特定的方式打开。下面介绍在不同场景下启动Qt应用的方式。 一. 从界面中启动 点击CukeTest的主界面菜单“工具”->“启动应用...”;或是点击模型管理器界面的菜单“操作”->“启动应用......
在CukeTest运行Qt自动化时,使用到两个关键组件:Qt自动化服务(Qt Service,简称Qt服务)和Qt Agent。它们分别在CukeTest进程和被测的Qt应用进程中运行,通过相互交互实现自动化操作。 Qt自动化服务 Qt服务是全局唯一的,即在一台机器上只有一个服务在运行。Qt服务总是伴随CukeTest启动并在后台保持运行状态。你可以在右下...
Qt自动化混合其它自动化 在一个项目/脚本中同时调用多个技术的自动化API是非常常见的需求,这里以Qt自动化API和Windows自动化API两种技术的混合为例,在Windows操作系统中运行Qt应用时,常常会碰到需要在一个项目中同时操作Qt控件和Windows控件的情况。在CukeTest中调用多个技术的自动化API的方法非常简单,下面分别介绍手动...
在对Qt 4.x编写的应用进行控件识别时,有时会出现模型管理器无法识别出控件类型的情况,全部显示为Custom类型,如下图。 这个问题目前是仅出现在Qt 4.x版本中,通常是由于该应用未加载了Qt的Accessibility插件,因此需要把包含该插件添加到应用的插件目录下即可。这些文件在Qt SDK的插件目录下,通常路径为..\Qt\4.x....
对于普通的输入框,通常是Edit控件,可以直接调用set()方法,修改对象的值。下面介绍Qt控件中的几种编辑控件类型的修改。 带微调按钮的输入框(Spinner) 这里介绍Qt的Spinner控件,也就是微调按钮的输入框。下面的代码生成一个随机数输入到输入框中,再获得输入框修改后的value属性,如果两者一致说明数字成功写入。
对于嵌入式设备中的Qt应用自动化,CukeTest采取了另外一套方案,适用于需要在嵌入式环境中完成自动化任务的场景。嵌入式的场景通常包含以下因素: 不区分硬盘和内存,所有空间加起来低于256MB甚至128MB; 通过以太网或无线网与上位机连接; Linux操作系统; ARM32或ARM64的CPU架构。