iPhone - 自动化测试?

Posted

技术标签:

【中文标题】iPhone - 自动化测试?【英文标题】:iPhone - Automation testing? 【发布时间】:2011-04-19 03:17:20 【问题描述】:

我目前在编写自动化测试时通过其可访问性标签来检测元素? 这会导致很多问题。

这是检测元素的正确方法吗? 如果没有,是否有更好的方法 检测元素而不使用 无障碍标签?

【问题讨论】:

【参考方案1】:

UI 自动化使用可访问性标签(如果已设置)为每个元素派生一个名称属性。除了明显的好处之外,使用这样的名称还可以大大简化测试脚本的开发和维护。

name 属性是这些元素的四个属性之一,在您的测试脚本中非常有用。

名称:源自可访问性 标签 value:当前值 例如,控件中的文本 文本字段 元素:任何孩子 当前包含的元素 元素,例如,a 中的单元格 表格视图 parent:元素 包含当前元素

Instruments User Guide

【讨论】:

【参考方案2】:

不明白您所说的“这会导致很多问题”是什么意思。通过 Automation Instrument 中的可访问性属性访问元素非常容易。

var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Cancel"];

当然,您也可以通过它们在屏幕上的顺序来访问元素。例如:

var button = UIATarget.localTarget().frontMostApp().mainWindow().buttons()[3];

将引用屏幕上的第 4 个按钮(它们从 0 开始编号)标签。但是,如果您决定在应用程序的下一个版本中重新排列屏幕上的元素,此方法可能会破坏您的测试,因此通过可访问性标签访问它们会更安全。

此外,辅助功能元素使依赖 VoiceOver 使用应用程序界面的人(残障人士)更容易访问您的应用程序 - 因此在进行界面测试时使用辅助功能属性会迫使您为您的应用程序构建更好的辅助功能。

【讨论】:

以上是关于iPhone - 自动化测试?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:等待 webview 在自动化测试中加载

在临时构建上使用仪器进行 iphone 自动化测试

在 iPhone 的 UI 自动化测试中访问 JAVASCRIPT 变量

iOS模拟器命令(自动化测试)

针对 iPhone 应用的 Instruments UI 自动化测试

你如何处理 UI 自动化 iPhone 应用程序测试中的 UIPickerView?