ATK自动化机制
CukeTest 的 ATK 自动化功能依赖于 AT-SPI。它利用可访问性技术(Accessibility Toolkit)来实现对应用程序界面的识别和操作。
侦测 ATK 控件
在启用 ATK Access Bridge 后,您可以使用 CukeTest 的模型管理器来侦测 ATK 应用程序中的控件。
直接侦测
- 打开模型管理器:在 CukeTest 界面中,找到并打开模型管理器。
侦测 ATK 控件:在模型管理器的工具栏中,选择
侦测 ATK 控件
按钮。此时,您可以将鼠标移动到 ATK 应用程序中任意控件上进行侦测。添加控件到模型:在 ATK 应用程序中点击您想要操作的控件后,将弹出侦测对话框。在该对话框中,您可以选择“添加”按钮,将该控件添加到您的模型文件中。
浏览/添加
点击 侦测 ATK 控件
图标底部的小箭头,在展开的菜单中,选择 浏览/添加
。这将打开一个控件树窗口,展示当前侦测到的所有Linux应用。您可以逐层展开控件树以查看控件结构,并勾选添加所需的控件。也可以点击“控件树”窗口内的侦测按钮,将鼠标移动到 ATK 应用程序中任意控件上进行侦测,控件树将自动展开至相应层级。
完成这些步骤后,您便可以在CukeTest中编写测试脚本,针对这些已添加的ATK对象执行验证和操作,实现自动化测试。
ATK 模型的引用脚本
ATK 控件的自动化 API 与 Qt 控件的 API 存在一定差异,因此在加载 ATK 模型文件时,需要采用特定的方法。我们推荐使用 CukeTest 提供的模型管理器中的代码生成功能,具体操作如下:
- 打开模型管理器:在模型管理器界面,选择右侧的“控件操作”标签页,这将切换到方法面板。
复制模型加载代码:在方法面板中,点击如下图所示的按钮,自动将全局加载代码方法复制到剪贴板:
粘贴代码至编辑器:打开您的代码编辑器,将剪贴板中的代码粘贴到您的脚本文件中。
生成的代码应类似如下格式:
JavaScript
Python
const { AtkAuto } = require("leanpro.atk");
let model = AtkAuto.loadModel("ProjectDir\\model1.tmodel");
from leanproAuto import AtkAuto
model = AtkAuto.loadModel("ProjectDir\\model1.tmodel")