Xcode UI 测试(目标 C):通过 Accessibility Label 查找元素
Posted
技术标签:
【中文标题】Xcode UI 测试(目标 C):通过 Accessibility Label 查找元素【英文标题】:Xcode UI Testing (Objective C): find element by Accessibility Label 【发布时间】:2015-12-02 07:22:08 【问题描述】:我正在测试的应用程序有一个元素(UIAStaticText
),它启用了辅助功能(带有辅助功能标签“Progress”)。
使用 Swift 访问这个元素很容易,并且有据可查。但是我的应用程序的源代码在 Objective C 中。
如何使用 Xcode UI 测试和 Objective C 访问这个元素?
【问题讨论】:
你可以在你的 UI 测试模块中使用 swift,在你的项目代码中使用 Objective-c。两者可以携手合作。 关于如何操作的任何想法或参考?我搜索时得到的唯一结果,涉及很多“黑客行为”。 我的代码在 Objective-c 中,并使用 swift 进行 UI 测试。您只需添加 UI 测试模块并选择 swift 作为其语言。我使用this tool,它在“入门”部分中也列出了很多参考资料,应该对您有所帮助。 哇,我应该试试这个。谢谢,谢谢! 【参考方案1】:我找到了一种方法来做到这一点。这确实让我得到了正确的元素 - 但我觉得必须有一个更简单的答案,它不依赖于我知道元素的类型 (staticText)。
如果有人有更好的答案,欢迎投稿。
XCUIElement *progressTextByAccessibility = [[app staticTexts] elementMatchingType:XCUIElementTypeStaticText identifier:@"Progress"];
【讨论】:
我最终转向了 Swift。显然这是可能的:)虽然它没有直接解决我的问题,但它运行得很好。以上是关于Xcode UI 测试(目标 C):通过 Accessibility Label 查找元素的主要内容,如果未能解决你的问题,请参考以下文章
Xcode UI 测试:我可以使用 UI 测试脚本访问目标应用程序文件夹吗?
如何让 Xcode 7 保留来自 UI 测试目标的日志记录输出?