使用ATOMac进行Mac自动化测试

摘要:
ATOMAC是一个支持Mac上自动化的python库。GitHub地址如下:https://github.com/pyatom/pyatom安装#Python2sudoeasy_installatomac#Pyton3pip3installgit+https://github.com/pyatom/pyatom/使用1.启动程序importomcatomac.launc

ATOMac简介

atomac是一个支持在mac上做自动化的python库,GitHub地址如下:

https://github.com/pyatom/pyatom

使用ATOMac进行Mac自动化测试第1张

安装

# Python2
sudo easy_install atomac

# Python3
pip3 install git+https://github.com/pyatom/pyatom/

使用

1. 启动程序

import atomac
atomac.launchAppByBundleId('com.apple.Automator')

查看bundleID的方法

在应用程序->右键选择包内容->Contents->Info.plist

使用ATOMac进行Mac自动化测试第2张

2. 获取Window

automator = atomac.getAppRefByBundleId('com.apple.Automator')
window = automator.windows()[0]
print(window)

输出

<atomac.AXClasses.NativeUIElement AXWindow '未命名'>

3. 获取应用标题

print(window.AXTitle)

输出

未命名

4. 查看元素

atomac支持获取和操作大部分的元素,可以使用xcode提供的accessibility inspector快速查看各个元素

路径:Xcode -> Open Developer Tools -> Accessibility inspector

使用ATOMac进行Mac自动化测试第3张

Atomac支持的元素类型有:

textAreas
textFields
buttons
windows
sheets
staticTexts
genericElements
groups
radioButtons
popUpButtons
rows
sliders

atomac所有的定位方法加上'R'字符,就变成了一个搜索方法(可以添加额外的搜索条件)

5. 获取元素

通过快照我们可以进行元素定位,这里我们以关闭按钮为例

closeButton = window.buttonsR('关闭')[0]
print(closeButton)

输出:

<atomac.AXClasses.NativeUIElement AXButton '关闭'>

6. 条件搜索元素

atomac支持findFirstR方法,根据属性来进行元素搜索,例如

closeButton = window.findFirstR(AXRole='AXButton', AXTitle='关闭')

支持的属性可以在Accessibility inspector中查看

使用ATOMac进行Mac自动化测试第4张

findFirstR方法返回首个匹配的元素, 如果没有找到匹配的元素则返回空列表

findAllR使用方法相同,返回所以匹配的元素列表,没有匹配的元素则返回空列表

7. 查看元素支持的属性

closeButton = window.findFirstR(AXRole='AXButton', AXTitle='关闭')
print(closeButton.getAttributes())

输出

['AXRole', 'AXHelp', 'AXEnabled', 'AXWindow', 'AXSize', 'AXTitle', 'AXRoleDescription', 'AXTopLevelUIElement', 'AXFocused', 'AXParent', 'AXPosition', 'AXFrame', 'AXIdentifier']

查看属性值

print(closeButton.AXTitle)

输出

关闭

8. 查看元素支持的操作

print(closeButton.getActions())

输出

['Press']

9. 元素操作

closeButton.Press()

任何支持的操作都可以这样调用

免责声明:文章转载自《使用ATOMac进行Mac自动化测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列Angular:ViewProviders和Providers的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在 macOS 上搭建 Flutter 开发环境

下载 Flutter SDK flutter官网下载:https://flutter.io/sdk-archive/#macos 若上述链接无法访问,可通过GitHub下载 https://github.com/flutter/flutter/releases 将下载的 flutter sdk 解压到一个地方(这里解压完成后的目录地址之后要用到),例如我直...

Mac Intellij 控制台乱码解决

http://www.kafeitu.me/tools/2013/03/26/intellij-deal-chinese-disorderly-code.html IntelliJ IDEA中文乱码解决办法 1. 预热 刚刚接触IntelliJ IDEA几天,在易用性方面的确比Eclipse好很多,比较智能,各种插件、工具都已经集成,和Mac OS X类似...

IDEA 从Windows 过渡到Mac 必备快捷键对照

Mac 键盘符号说明 ⌘ == Command ⇧ == Shift ⇪ == Caps Lock ⌥ == Option ⌃ == Control ↩ == Return/Enter ⌫ == Delete ⌦ == 向前删除键(Fn+Delete) ↑ == 上箭头 ↓ == 下箭头 ← == 左箭头 → == 右箭头 ⇞ == Page Up(Fn...

intellij idea for mac 2018 破解版

下载地址:https://pan.baidu.com/s/1DNo3CvkI7EMy6Mt0hdzTpg 1、在本站下载好mac文件包,打开dmg镜像文件,将“IntelliJ IDEA”拖入到“Applications”应用文件夹中进行安装; 2、等待软件安装完成后先不要运行软件,回到之前打开的dmg镜像界面,打开“Crack”文件夹,将文件夹目录下的...

ios --转载 在mac上安装让rvm及cocoa pods详解

先安装rvm: 打开终端: $ curl -L https://get.rvm.io | bash -s stable (期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)  $ source ~/.rvm/scr...

wireshark混杂模式

来自:https://blog.csdn.net/mukami0621/article/details/78645825 通过设置网卡为混杂模式就能捕获局域网内所有发包内容,包括非广播包和非发给自己主机的数据包 这是为什么呢?即主机A发送一个数据包给主机B,我作为主机C怎么也能截获这个数据包呢,原理是什么?我的网卡为什么设置成混杂模式就能捕获发给别人的包?...