全局桌面对象

全局桌面对象是CukeTest模型管理器内置的桌面级自动化对象树,集中提供了 Keyboard(键盘)、Mouse(鼠标) 与 Screen(屏幕) 等系统级操作接口。用户无需通过侦测添加控件,即可直接在模型管理器中调用、调试底层输入方法并复制生成自动化脚本。

Note

界面入口:点击模型管理器工具栏中的 全局对象 按钮,即可打开全局桌面对象对话框。

适用场景

  • 这是什么:模型管理器中的普通模型对象对应特定应用界面的具体控件(依赖识别属性与层级结构);而全局桌面对象是系统级的独立操作实体,不依赖任何特定应用或窗口。
  • 何时使用:
    • 需要在调试阶段快速向被测桌面发送快捷键或测试文本。
    • 需要针对屏幕固定绝对坐标进行光标移动、单击、右击或拖拽。
    • 需要快速获取当前系统多显示器分辨率、主副屏配置或执行桌面全屏截图。
  • 何时不用:
    • 若操作目标是被测应用界面上的具体按钮、文本框或列表项,应优先使用控件对象进行操作,以保证在不同分辨率与界面变动下的识别健壮性。

调用键盘方法

点击左侧对象树中的 Keyboard 节点,右侧控件操作面板会列出键盘自动化支持的方法。

操作示例:调用 pressKeys() 输入测试文本

  1. 在左侧树中选中 Keyboard 节点。
  2. 在右侧控件操作列表中选中 pressKeys() 方法,点击调试方法按钮。
  3. 在方法调试弹窗中,在 keys 参数中填入目标文本(例如 "Hello World")。
  4. 点击弹窗左下角“运行”按钮右侧的红色延时调用按钮,在倒计时内将光标焦点切换至目标输入区域。
  5. 倒计时结束后,pressKeys() 自动执行并将文本键入目标编辑区。

调试完成后,点击复制代码按钮即可获取对应的脚本:

JavaScript
Python
const { Keyboard } = require("leanpro.common");

await Keyboard.pressKeys("Hello World");
from leanproAuto import Keyboard

Keyboard.pressKeys("Hello World")

调用鼠标方法

点击左侧对象树中的 Mouse 节点,右侧控件操作面板会列出鼠标操作支持的方法,如移动、单击、双击与拖拽。

操作示例:调用 click() 在指定屏幕坐标点击右键

  1. 在左侧树中选中 Mouse 节点。
  2. 在右侧控件操作列表中选中 click() 方法,点击调试方法按钮。
  3. 在方法调试弹窗中填入坐标与按键参数:
    • x 与 y:填入目标点击的屏幕绝对坐标(例如 { x: 960, y: 540 })。
    • mouseKey:填入鼠标按键代码,1 为左键,2 为右键(此处填写 2)。
  4. 点击运行按钮,鼠标将移动至目标坐标并触发右键单击,弹出右键菜单。

调试完成后,生成的脚本如下:

JavaScript
Python
const { Mouse } = require("leanpro.common");

await Mouse.click(960, 540, 2);
from leanproAuto import Mouse

Mouse.click(960, 540, 2)

调用屏幕方法

点击左侧对象树中的 Screen 节点,可在右侧调用屏幕自动化相关方法,如获取屏幕数量、分辨率或截屏。

Note

多屏幕支持:当计算机连接多个显示器时,Screen 根节点下会依次列出 screen_0、screen_1 等子节点。选中具体屏幕节点即可针对指定显示器进行操作。

操作示例:使用 Screen.items() 获取当前桌面屏幕列表

  1. 点击左侧对象树中的根节点 Screen。
  2. 在右侧控件操作列表中点击 items() 方法,并点击缺省调用按钮。
  3. 弹出方法测试窗口,显示当前检测到的屏幕虚拟控件列表。

JavaScript
Python
const { Screen } = require("leanpro.common");

let screens = await Screen.items();
console.log(`当前屏幕数量: ${screens.length}`);
from leanproAuto import Screen

screens = Screen.items()
print(f"当前屏幕数量: {len(screens)}")

操作示例:验证 screen_1 是否为主屏幕

  1. 点击左侧对象树中的 screen_1 子节点。
  2. 在右侧控件操作列表中点击 isPrimary() 方法,并点击缺省调用按钮。
  3. 弹窗显示返回值为 false,确认该显示器为副屏。

JavaScript
Python
const { Screen } = require("leanpro.common");

let screen1 = await Screen.getItem(1);
let isPrimary = await screen1.isPrimary();
console.log(`screen_1 是否为主屏: ${isPrimary}`);
from leanproAuto import Screen

screen1 = Screen.getItem(1)
isPrimary = screen1.isPrimary()
print(f"screen_1 是否为主屏: {isPrimary}")

相关阅读

results matching ""

    No results matching ""