Appium不仅局限于实现移动应用的自动化测试。只要被测系统的界面层提供开放的交互途径,就可以为其单独编写驱动程序,并将其包含在Appium中。本篇博客将会介绍使用Appium For Mac框架,实现针对MacOs应用程序的自动化测试。

环境依赖

除了需要安装标准的Appium之外,Mac2驱动程序还需要配置以下内容:

  • macOS 10.15或更高版本
  • Xcode 12或更高版本
  • 开启Xcode Helper应用程序的Accessibility 权限。Security & Privacy -> Privacy -> Accessibility -> System
  • testmanagerd 进程依赖UIAutomation的权限,可以使用以下设置:automationmodetool enable-automationmode-without-authentication

Mac Capabilities

Capability 描述
platformName 设置为mac
automationName 设置为mac2
appium:systemPort 内部服务器要监听的端口号,默认端口10100
appium:systemHost 内部服务器要监听的主机名,默认主机是127.0.0.1
appium:webDriverAgentMacUrl 如设置后,Appium将连接到WebDriverAgentMac已开启的实例,而不再重新启动一个服务
appium:showServerLogs 包括xcodebuild输出日志,默认值为false
appium:serverStartupTimeout WebDriverAgentMac启动超时时间,默认值120000
appium:bundleId 被测应用bundleID
appium:noReset 是否要重启应用

Absolute AXPath

AppiumForMac可以通过“absolute AXPath”的特殊XPath选择器来检索元素。AXPath选择器使用Accessibility API 来检索和获取控件属性。

AppiumForMac提供了一个工具,用于生成界面上任何元素的AXPath。首先,使用Finder或Launchpad手动启动AppiumForMac应用程序。它不会显示窗口,但会出现在dock中。将鼠标指针悬停到某一控件,按住键盘上的fn 键约三秒,AppiumForMac将找到该元素的AXPath。并将AXPath选择器存储到剪贴板中,以便您可以将其粘贴到测试代码中。

这种行为在界面上的任何地方都会起作用,因为AppiumForMac可以查找任务具有Accessibility API属性的控件。

运行测试

Copy to Clipboard