如何使用Xcode自动化mac app?

时间:2016-07-28 13:41:00

标签: ios macos appium ui-automation xctest

我尝试将UI测试用例添加到现有的mac应用程序中。我已经尝试过iOS的UI测试用例,其中包括以下步骤

  • 我选择了 Appium 而不是Apple的 UIAutomator ,因为我也希望为我们的Android应用保持相同的流量。
  • 要继续自动化,我需要将标签/值/标识符设置为元素。这样他们就可以访问了。我们在大多数部分使用了drawRect方法,因此我按照this发布信息使绘制的组件可以访问。
  • 我可以在iOS中设置/读取元素。我所做的是,每当我绘制一个元素时,我只需创建一个UIAccessibilityElement并添加到相应的视图中。

现在,我正在尝试为我们的mac应用程序编写UI测试。由于 Appium 不支持mac应用程序,我考虑使用Apple的 XCTest UI录制/播放来自动化我的mac应用程序。

以下是我采取的步骤:

  • NSAccessibility是提供mac应用程序辅助功能的类
  • 使用 XCTest ,如果我知道特定元素(例如按钮)标识符/标签,我可以继续自动点击操作
  • UIAccessibility不同,NSAccessibility是基于角色的对象。也就是说,我们需要提到我们要定义的哪种类型的可访问性元素。
  • 为了开始自动化过程,我将我的mac应用程序左侧面板,其中有五个按钮垂直对齐
  • 我将标识符设置为这些按钮。然后我打开辅助功能检查器并打开我的mac应用程序。值已正确设置。
  • 然后我尝试在 XCTest 中使用记录选项。点按该按钮时,会因错误
  • 而崩溃该应用程序
  

"记录器服务错误:鼠标左键向下:找不到匹配   元素"

我发布了here

问题:

  • 有人可以建议我自动化mac应用程序的正确途径吗?我会以正确的方式前进吗?
  • 我搜索了很多关于如何实现NSAccessibility的工作示例代码。但我找不到任何东西。有人可以分享任何有用的链接/样本吗?
  • 我需要的是,通过标识符/标签获取元素。 辅助功能检查器显示正确的值,因为 XCTest 无法读取标识符。有没有人面对这个问题?

先谢谢

0 个答案:

没有答案