ATK自动化机制

CukeTest 的 ATK 自动化功能依赖于 AT-SPI。它利用可访问性技术(Accessibility Toolkit)来实现对应用程序界面的识别和操作。

侦测 ATK 控件

在启用 ATK Access Bridge 后,您可以使用 CukeTest 的模型管理器来侦测 ATK 应用程序中的控件。

直接侦测

  1. 打开模型管理器:在 CukeTest 界面中,找到并打开模型管理器。
  2. 侦测 ATK 控件:在模型管理器的工具栏中,选择 侦测 ATK 控件 按钮。此时,您可以将鼠标移动到 ATK 应用程序中任意控件上进行侦测。

    侦测ATK控件

  3. 添加控件到模型:在 ATK 应用程序中点击您想要操作的控件后,将弹出侦测对话框。在该对话框中,您可以选择“添加”按钮,将该控件添加到您的模型文件中。

    添加ATK控件

浏览/添加

点击 侦测 ATK 控件 图标底部的小箭头,在展开的菜单中,选择 浏览/添加。这将打开一个控件树窗口,展示当前侦测到的所有Linux应用。您可以逐层展开控件树以查看控件结构,并勾选添加所需的控件。也可以点击“控件树”窗口内的侦测按钮,将鼠标移动到 ATK 应用程序中任意控件上进行侦测,控件树将自动展开至相应层级。

ATK浏览控件树

完成这些步骤后,您便可以在CukeTest中编写测试脚本,针对这些已添加的ATK对象执行验证和操作,实现自动化测试。

ATK 模型的引用脚本

ATK 控件的自动化 API 与 Qt 控件的 API 存在一定差异,因此在加载 ATK 模型文件时,需要采用特定的方法。我们推荐使用 CukeTest 提供的模型管理器中的代码生成功能,具体操作如下:

  1. 打开模型管理器:在模型管理器界面,选择右侧的“控件操作”标签页,这将切换到方法面板。
  2. 复制模型加载代码:在方法面板中,点击如下图所示的按钮,自动将全局加载代码方法复制到剪贴板:

    复制模型文件代码

  3. 粘贴代码至编辑器:打开您的代码编辑器,将剪贴板中的代码粘贴到您的脚本文件中。

生成的代码应类似如下格式:

JavaScript
Python
const { AtkAuto } = require("leanpro.atk");
let model = AtkAuto.loadModel("ProjectDir\\model1.tmodel");
from leanproAuto import AtkAuto
model = AtkAuto.loadModel("ProjectDir\\model1.tmodel")

results matching ""

    No results matching ""