Appium Mac2 Driver官方文档:
https://github.com/appium/appium-mac2-driver/blob/master/README.md
一、设置Xcode Helper获得“辅助功能”权限(需安装Xcode):
打开系统设置 设置->安全性和隐私->辅助功能,把Xcode Helper 拖到列表里
(Xcode Helper 路径: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/Xcode Helper.app)
二、安装appium2。执行命令:
npm install -g appium@next
三、安装Mac2驱动:
appium driver install mac2
(注意:
appium2不再捆绑驱动,使用命令查看驱动列表:
appium driver list
安装单个驱动:
appium driver install <driverName>
更新单个驱动:
appium driver update <driverName>
)
默认地址已变更:http://localhost:4723 (仅包含IP和端口号)
四、新建Python虚拟环境,安装Appium-Python-Client
pip install Appium-Python-Client
示例:
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
desired_caps = {
'automationName':'Mac2',
'platformName':'mac',
'bundleId':'<bundleid for app to test>', # 下一步骤中查到的Bundle identifier
'noReset':True
}
driver = webdriver.Remote('http://localhost:4723', desired_caps)
driver.implicitly_wait(10)
search_box = driver.find_element(by=AppiumBy.IOS_PREDICATE, value='elementType == 49 AND placeholderValue == "搜索"')
search_box.send_keys('hello')
driver.find_element(by=AppiumBy.CLASS_NAME, value='XCUIElementTypeTextView').send_keys('hello')
driver.find_element(AppiumBy.IOS_CLASS_CHAIN, '**/XCUIElementTypeStaticText[`value == "t01"`][1]').click()
五、查看待测应用bundleId:
1)打开Finder,选择“应用程序”,选择待测应用,右键选择“显示包内容”:
2)查看Info.plist文件中的Bundle identifier(默认使用Xcode打开)
六、关于查找元素
工具:结合Appium Inspector和Xcode中的Accessibility Inspector一起使用
安装Mac版Appium Inspector:
https://github.com/appium/appium-inspector/releases
笔者一般使用Appium Inspector查看IOS_CLASS_CHAIN,对于IOS_CLASS_CHAIN和XPATH,建议使用IOS_CLASS_CHAIN
IOS_CLASS_CHAIN语法说明:
https://github.com/facebookarchive/WebDriverAgent/wiki/Class-Chain-Queries-Construction-Rules
查找元素方法见官方文档:
https://github.com/appium/appium-mac2-driver/blob/master/README.md