Mac自动化测试:atomac

环境

macOS:10.15.7 (19H512)
Python 3.6.3

简介

We are pleased to introduce the first Python library to fully enable GUI testing of Mac applications via 
the Apple Accessibility API. This library was created out of desperation. Existing tools such as using 
appscript to send messages to accessibility objects are painful to write and slow to use. ATOMac has 
direct access to the API. It's fast and easy to use to write tests.
翻译:
基于python 的mac UI自动化工具

安装

pip3 install git+https://github.com/pyatom/pyatom/
  • 安装时遇到报错
error: i386 (32-bit) is not supported by PyObjC
  • 解决方案:降低了pyobjc版本
pip3 install -U pyobjc==6.2.2

使用

元素属性对应说明
ATOMac 库使用的元素属性均在其属性名(通过 Accessibility Inspector 查到)前面加 AX,且首字母大写,如下所示

ATOMac Accessibility Inspector
AXRole Role
AXPosition Position
AXRoleDescription Type
AXValue Value

API

options useage
getAttributes() 获取元素所有属性
getActions() 查看元素支持操作
window.tripleClickMouse(x + width / 2, y + height / 2)
window.sendKeys('123')
键盘输入
AXPosition 坐标
window.clickMouseButtonLeft(x + width / 2, y + height / 2) 左键单击
window.doubleClickMouse(x + width / 2, y + height / 2) 双击
window.groups()[0] 定位

输入键盘上的修饰符

sendKeys([RETURN])
key 键盘修饰符
TAB '<tab>'
RETURN '<return>'
SPACE '<space>'
ESCAPE '<escape>'
CAPS_LOCK '<capslock>'
DELETE '<delete>'
NUM_LOCK '<num_lock>'
SCROLL_LOCK '<scroll_lock>'
PAUSE '<pause>'
BACKSPACE '<backspace>'
INSERT '<insert>'

https://github.com/pyatom/pyatom

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容