能否使用RobotFramework对MacOSx应用执行自动化操作?
RobotFramework 实现MacOS桌面应用自动化说明
完全可以实现MacOS系统下的桌面应用自动化,目前主流方案分为两类:元素级定位方案搭配Appium For Mac + AppiumLibrary,图像识别方案搭配ImageHorizonLibrary,以下是具体实现参考:
前置环境准备
- 先进入Mac「系统设置」-「隐私与安全性」-「辅助功能」,给终端、代码编辑器、后续用到的自动化服务开启权限
- 安装RobotFramework核心框架:
pip install robotframework - 元素定位方案需额外安装依赖:
pip install robotframework-appiumlibrary,同时部署Appium For Mac服务端 - 图像识别方案需额外安装依赖:
pip install robotframework-imagehorizonlibrary
元素定位方案示例(以系统自带计算器为例)
*** Settings *** Library AppiumLibrary *** Variables *** ${APPIUM_URL} http://localhost:4723/wd/hub ${CALCULATOR_PATH} /System/Applications/Calculator.app *** Test Cases *** 计算器加法验证测试 # 启动Mac计算器应用 Open Application ${APPIUM_URL} platformName=Mac app=${CALCULATOR_PATH} # 依次点击 1 + 2 = Click Element xpath://AXButton[@AXTitle='1'] Click Element xpath://AXButton[@AXTitle='+'] Click Element xpath://AXButton[@AXTitle='2'] Click Element xpath://AXButton[@AXTitle='='] # 校验结果为3 ${res_value} Get Element Attribute xpath://AXStaticText[contains(@AXRole, 'static')] value Should Be Equal As Strings ${res_value} 3 # 关闭测试应用 Close Application
你可以替换示例中
${CALCULATOR_PATH}为你要测试的桌面应用路径,元素定位的Xpath表达式可以通过Appium Inspector工具抓取对应应用元素获取。
注意事项
- 无公开元素属性的第三方应用无法使用Xpath定位,可切换为ImageHorizonLibrary通过截图匹配、键鼠模拟完成操作
- 涉及屏幕操作、输入的自动化脚本,需要提前给执行脚本的程序开启对应的屏幕录制、输入控制权限,避免操作无响应
内容的提问来源于stack exchange,提问作者parul
相关产品推荐
相关产品推荐

