ios - Xcode UI 测试 [xcode7-beta6] - 使用可访问性标签时断言实际标签值

标签 ios testing xcode-ui-testing xcode7-beta6

这个问题其实很简单:

在这个对象上使用可访问性标签时,有没有办法断言特定标签(例如 UILabel)的显示值?

据我所知,示例中的所有断言(例如 XCTAssertEquals)都来自 WWDC TalkBlogposts , 仅检查元素是否存在于 XCTAssertEquals(app.staticTexts["myValue"].exists, true) 之类的查询中,或者表格中的单元格数量是否正确 XCTAssertEquals( app.tables.cells.count, 5).因此,当避免使用可访问性标签时,可以检查对象是否显示了某个值,而不是检查哪个对象/元素。 当使用可访问性标签时,它剥夺了我查询显示值的机会,因为 app.staticTexts["myValue"] 现在将无法提供结果,但 app.staticTexts[ “myAccessibilityLabel”] 将命中。

假设我想测试我的“将新单元格添加到表格”功能,我可以测试是否真的有一个新单元格添加到列表中,但我不知道新单元格是添加在顶部还是底部列表的一部分或介于两者之间。

对我来说,在 UI 测试方面,检查特定元素是否具有特定值的简单方法应该是不费吹灰之力的。

由于缺少文档,我可能会忽略显而易见的内容。如果是这样,请告诉我。

最佳答案

请务必在设置 .text 值时设置 UILabel 的 .accessibilityValue 属性。然后在 UITest 中,您可以像这样测试可访问性值:

    let labelElement = app.staticTexts["myLabel"]
    ...
    XCTAssertEqual(labelElement.value as! String, "the expected text")

关于ios - Xcode UI 测试 [xcode7-beta6] - 使用可访问性标签时断言实际标签值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32314744/

相关文章:

ios - 推送到新的 UIViewController 后强制再次调用 viewDidLoad

ios - Cocoapod : "The document could not be saved. The file doesn’ t exist"的 Xcode 错误

java - Mockito 验证方法调用一次

ios - 为什么无法访问 view.center.x/y

ios - 关闭一个 ViewController 并呈现另一个 ViewController - IOS - Swift 3

asp.net-mvc - 仅在 SpecFlow 测试期间重定向时 TempData 为空

testing - 在 Pytorch 中,如何用我加载的模型测试简单图像?

iOS UITests - XCUIElements 标识符的用途

ios - Xcode UITest 推送通知提示无法点击 "Allow"

ios - Xcode UI 测试 - 如何在 WKWebView 中点击()链接?